2016-12-02 25 views
2

通常,当我想从远程存储库更新我的项目时,我使用以下命令行。当使用git pull -a origin开发时,-a标志是什么意思?

git pull -a origin develop 

我从项目团队成员那里了解到了这一点,但我无法在互联网上找到-a标志所做的答案。这是什么意思?

+0

快速Google搜索:https://git-scm.com/docs/git-pull#git-pull--a **将提取的ref的ref名称和对象名追加到.git/FETCH_HEAD的现有内容。如果没有这个选项,.git/FETCH_HEAD中的旧数据将被覆盖。** –

回答

-1

git pull --help

-a,--append追加REF名称和取出参的对象名称来的.git/FETCH_HEAD的现有内容。如果没有这个选项,那么.git/FETCH_HEAD中的旧数据将被覆盖。

0

...拉-a与--append相同。 从官方文档:

-a

--append追加裁判名称和对象获取裁判的名字的.git/FETCH_HEAD的现有内容。如果没有此选项,旧数据将被覆盖.git/FETCH_HEAD中的旧数据

如果你只是想更新你的分支的历史尝试使用

混帐取

集成了从远程仓库变为当前分支。 在默认模式下,git pull是git fetch的缩写,然后是 git merge FETCH_HEAD。

更确切地说,拉的git git的运行与给定的参数和 电话混帐合并获取检索到的分支头合并到当前 分支。使用--rebase,它会运行git rebase而不是git merge。

文档:

fetch

pull

4

命令git pull本质上只是为了方便快捷方式。 它首先运行git fetch,然后运行另一个Git命令。第二个Git命令默认为git merge,但在各种情况下,您可以使第二个命令为git rebase

这是全部git pull确实:它运行另外两个Git命令。 git pull的所有选项和参数或者控制它使用的第二个命令,或者通常直接传递给其他命令之一。

在这种情况下,-a--append被传递到git fetch,告诉它要追加所有到FETCH_HEAD文件所提取的参考文献中(而不是替换任何现有的文件FETCH_HEAD取出iwth的参考文献)。除非您自己使用FETCH_HEAD,否则此选项无用。


以来的最好命令运行可以依赖于第一命令的结果,为方便去了,这一次是真的非常不方便。这就好比必须决定是否要走路,开车或飞往目的地,然后才知道它是否在你的社区,你的城市或另一个大陆。