“起源”后的分支是本地分支还是远程分支?

时间:2015-07-22 05:39:57

标签: git github version-control

我正在尝试学习git,但我对一部分感到困惑。通常我用:

git pull origin branch_A

获取远程分支。通常我当前的本地分支是branch_A远程存储库上的分支也是branch_A,因此我将获得remote/branch_A -> local/branch_A。但是,如果我想得到remote/branch_B -> local/branch_A该怎么办? origin之后分支的真正含义是什么?它是指远程分支还是本地分支?此命令是fetch default remote branch to local branch_A还是fetch remote branch_A to current local branch

2 个答案:

答案 0 :(得分:3)

在命令

git pull origin branch_A

origin指的是您在Git中配置的远程存储库。因此,这会将远程branch_A的更改提取到跟踪此远程的本地分支。另一方面,

git pull origin/branch_A

将从上次执行拉取时缓存的origin/branch_A分支的本地版本中提取更改。

如果您真的希望本地branch_A跟踪远程branch_B,那么以下命令可以解决这个问题:

git checkout -b branch_A origin/branch_B

如果已经有本地branch_A跟踪其他内容(例如远程branch_A),那么您必须首先杀死该分支,然后重新创建它。

答案 1 :(得分:0)

存储库名称后面的分支是远程分支。

这是文档所说的git-pull

你总是拉过你在本地存储库中的分支。

但是,还有另一种可能性,如果您有一个使用远程分支跟踪的本地分支,那么该命令意味着您将拉入当前分支,该分支是由所跟踪的本地分支指向的远程分支中的内容。 / p>