分类目录归档:Git

Gitignore


.gitignore文件是一个文本文件,告诉Git在项目中忽略哪些文件或文件夹。

本地.gitignore文件通常放在项目的根目录中。您还可以创建一个全局.gitignore文件,该文件中的所有条目都将在所有Git存储库中被忽略。

要创建本地.gitignore文件,请创建一个文本文件并将其命名为.gitignore (请记住在开头包含. )。然后根据需要编辑此文件。每个新行都应列出您希望Git忽略的其他文件或文件夹。

此文件中的条目也可以遵循匹配模式。

  • *用作通配符匹配
  • /用于忽略相对于.gitignore文件的路径名
  • #用于向.gitignore文件添加注释

这是.gitigno...

阅读全文...

Git Stash


Git有一个名为stash的区域,您可以在其中临时存储更改的快照,而无需将它们提交到存储库。它与工作目录,临时区域或存储库分开。

当您对尚未准备好提交的分支进行更改但是需要切换到另一个分支时,此功能非常有用。

藏匿变化

要将更改保存在存储中,请运行以下命令:

git stash save "optional message for yourself"

这将保存您的更改并将工作目录恢复为最新提交的外观。可以从该存储库中的任何分支进行隐藏更改。

请注意,您要隐藏的更改需要位于跟踪的文件中。如果您创建了一个新文件并尝试存储更改,则可能会收到错误“ No local cha...

阅读全文...

Git Squash


开发人员经常听到关于他们的拉取请求的事情之类的事情就像“对我来说好看,请挤压并合并”。有趣的是,没有像git squash这样的命令除非你为它创建一个别名。为了squash pull请求通常意味着在此请求所有提交压缩成一个(很少到其他号码),使之更简洁,可读性和不污染主要分支的历史。要实现该开发人员需要使用Git Rebase命令的 交互模式

通常,当您开发一些新功能时,您最终会在历史记录中进行多次间歇性提交 - 毕竟您会逐渐增加。这可能只是一些拼写错误或最终解决方案的步骤。大多数情况下,在最终公共版本的代码中使用所有这些提交是没有用的,因此将所有这些提交压缩成一个,单个和最终的更有...

阅读全文...

Git Show


git show是一个方便的命令,使您可以查看给定对象(提交,标记,blob和树)的详细视图。

该命令的语法如下:

git show [<options>] [<object>…​]

对于不同的git对象, git show给出了不同的输出。

  • 提交它显示提交日志消息,其中包含已提交的更改差异。
  • 对于标签,它显示标签消息和引用的对象。
  • 对于树木,它显示了名称
  • 对于普通blob,它显示普通内容

git show的最常见用法是与git commit对象相关联

git show 3357d63

你会得到类似的输出,

commit 3357d63d8f4410494...

阅读全文...

Git Revert


git revert命令撤消提交,但与git reset (从提交历史记录中删除提交)不同,它会附加一个带有结果内容的新提交。这可以防止Git丢失历史记录,这对于修订历史记录的完整性和可靠的协作非常重要。当您与其他开发人员一起使用存储库时,使用git reset非常危险,因为您更改了提交的历史记录,这使得很难与其他开发人员保持一致的提交历史记录。

常见选项

1.)这是默认选项,不需要指定。此选项将打开已配置的系统编辑器,并在提交还原之前提示您编辑提交消息。

-e
--edit

2.)这是-e选项的反转。 revert将不会打开编辑器。

--no-edit

3.)传递此选项将阻止git...

阅读全文...

Git重置


git reset命令允许您将当前头重置为指定状态。您可以重置特定文件的状态以及整个分支。

重置文件或文件集

以下命令允许您有选择地选择内容块并还原或取消暂存。

git reset (--patch | -p) [tree-ish] [--] [paths]

取消暂存文件

如果您使用git add文件移动到暂存区域,但不再希望它成为提交的一部分,则可以使用git reset来取消git reset该文件:

git reset HEAD FILE-TO-UNSTAGE

您所做的更改仍将在文件中,此命令只是从暂存区域中删除该文件。

将分支重置为先前的提交

以下命令将当前分支的HEAD重置...

阅读全文...

Git Remote


git remote命令允许您管理Git远程存储库。远程存储库是对在同一代码库上运行的其他Git存储库的引用。

不用担心,每次推送东西时,都不需要输入整个URL。 Git将远程URL与名称关联,大多数人使用的名称是origin

列出所有已配置的远程存储库

git remote -v

此命令列出所有远程存储库及其位置。

远程存储库按名称引用。如上所述,项目的主存储库通常称为origin

当你使用 git clone 为了获取存储库的副本,Git将原始位置设置为_源_远程存储库。

添加远程存储库

要将远程存储库添加到项目,请运行以下命令:

git remote add REMOTE...

阅读全文...

Git Rebase


Git Rebase

在Git中重新分支分支是一种将整个分支移动到树中另一个点的方法。最简单的例子是在树中进一步向上移动分支。假设我们在A点有一个与主分支不同的分支:

/o-----o---o--o-----o--------- branch
 --oo--A--o---o---o---o----o--ooo--- master

如果你改变,你可以这样移动:

/o-----o---o--o-----o------ branch
 --oo--A--o---o---o---o----o--ooo master

要进行rebase,请确保在master分支中的rebase中拥有所需的所有提交...

阅读全文...

Git Push


git push命令允许您将提交从本地Git存储库中的本地分支发送(或推送 )到远程存储库。

为了能够推送到远程存储库,您必须确保提交对本地存储库的所有更改

该命令的语法如下:

git push <repo name> <branch name>

您可以通过命令传递许多不同的选项,您可以在Git文档中了解有关它们的更多信息或运行git push --help

推送到特定的远程存储库和分支

为了推送代码,您必须首先将存储库克隆到本地计算机。

# Once a repo is cloned, you'll be working inside of t...

阅读全文...

Git Pull


git pull是一个Git命令,用于从远程更新存储库的本地版本。

它是Git提示网络交互的四个命令之一。默认情况下, git pull做两件事。

  1. 更新当前本地工作分支(当前已检出分支)
  2. 更新所有其他分支的远程跟踪分支。

该命令的语法如下:

# General format
git pull OPTIONS REPOSITORY REFSPEC

# Pull from specific branch
git pull REMOTE-NAME BRANCH-NAME

其中:

  • 选项 是命令选项,例如--quiet--verbose 。您可以在Git文档中阅读有关不同选项的更多信息...

阅读全文...