我正在尝试学习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
?
答案 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>