2015-07-22 77 views
2

我想學習git,但我對一部分感到困惑。通常我使用:「origin」是本地分支還是遠程分支之後的分支?

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

回答

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),那麼你將不得不首先殺死分支然後重新創建它。

+0

如果我使用branch_A來跟蹤origin/branch_A。但我將branch_A重命名爲branch_C,並創建了一個新的branch_A。我使用git pull origin branch_A。它會被拉到當前分支_C或當前分支_A嗎? – deathlee

+0

'git pull origin branch_A'會更新'branch_C',它仍在跟蹤遠程'branch_A'。你的本地'branch_A'不會更新,除非它也跟蹤遠程'branch_A'。 –

+0

你可能不應該混淆分支名稱。請閱讀[本SO文章](http://stackoverflow.com/questions/1526794/rename-master-branch-for-both-local-and-remote-git-repositories)瞭解更多關於在本地正確重命名Git分支的信息和遠程。 –

0

存儲庫名稱後面的分支是遠程分支。

這是什麼文檔說git-pull

你總是拉過你在本地存儲庫中的分支。

但是,還有另一種可能性,如果您有一個本地分支跟蹤遠程分支,那麼該命令意味着您將拉入當前分支中的本地分支跟蹤的遠程分支中的內容。

相關問題