通常,当我想从远程存储库更新我的项目时,我使用以下命令行。
git pull -a origin develop
Run Code Online (Sandbox Code Playgroud)
我从我的项目团队成员那里了解到这一点,但我无法在互联网上找到 -a 标志的作用的答案。-a 是什么意思?
该git pull命令本质上只是一个方便的快捷方式。1 它首先运行git fetch,然后运行另一个 Git 命令。第二个 Git 命令默认为git merge,但在各种情况下,您可以将第二个命令设置为git rebase。
这是所有该git pull做:它运行两个其他Git命令。所有选项和参数git pull要么控制它使用的第二个命令,要么通常直接传递给其他命令之一。
在这种情况下,-a或--append传递给git fetch,它告诉它将所有提取的引用附加到FETCH_HEAD文件中(而不是替换任何现有FETCH_HEAD文件和提取的引用)。除非你FETCH_HEAD自己使用,否则这个选项是没有用的。
1由于要运行的最佳第二个命令可能取决于第一个命令的结果,因此为了方便,这个命令真的很不方便。这就像在你知道目的地是在你的社区、你的城市还是另一个大陆之前,你必须决定是步行、开车还是飞到一个目的地。
SiK*_*ing -1
从git pull --help:
-a, --append 将获取的引用的引用名称和对象名称附加到 .git/FETCH_HEAD 的现有内容中。如果没有此选项,.git/FETCH_HEAD 中的旧数据将被覆盖。