什么“git pull remotename -u remotebranchname”做什么?

时间:2013-10-21 07:03:59

标签: git

带拉的-u选项有什么作用?

我现在的分支是主人。

它从远程分支拉到我当前的分支(主)吗?

这个命令是从指定的“远程分支”拉到我当前的(主)分支吗? 运行这个git命令有什么影响?

实际上我使用了一组命令并最终污染了我的功能分支,因此试图跟踪哪个命令执行了它。

执行此命令是否从指定的远程分支变为我当前的分支(master)?

2 个答案:

答案 0 :(得分:1)

对于正常使用git,此选项无效。

文档说明它是--update-head-ok选项的缩写形式。此选项用于允许提取更改您当前所在的分支。因此,如果您的分支是主分支,则此选项允许更改refs/heads/master

当你正常使用git时,你不会这样做。获取只会更改refs/remotes/origin/master。这是更新refs/heads/master的后续合并。 -u选项不会更改合并的工作方式。

鉴于此选项的效果是禁用完整性检查,您不应该使用它,除非您真的知道自己在做什么。

答案 1 :(得分:0)

来自git pull

的手册页
-u, --update-head-ok
           By default git-fetch refuses to update the head which corresponds to the current branch. This flag disables the check. This is purely for the internal
           use for git-pull to communicate with git-fetch, and unless you are implementing your own Porcelain you are not supposed to use it.