在實際的工作生活中,往往需要將本地的分支和遠程分支關聯,這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠程倉庫。但是如果此時你本地關聯的遠程分支被刪除了,那么就會出現你無法使用git pull,和git push命令。使用一個例子說明這個場景。 我們可以使用下面的命令查看自己本地分支與與遠程分支的關聯情況:
git branch -vv
如上圖所示,我們可以看到本地的master分支和遠程的origin/master分支關聯,nololibs_for_git 和遠程的origin/nololibs_release 關聯。 這時候假設我們將遠程分支origin/nololibs_release刪掉,這時候我們執行git pull命令就會報錯,如下所示:
意思就是我們之前關聯的遠程分支不存在了。
要解決git pull報錯的問題就需要我們重新關聯一個遠程倉庫中存在的分支。這時候假設遠程倉庫中有 一個分支為origin/nololibs_for_git,我們只需要執行下面的命令:
git branch -u 遠程分支名 // 例如:git branch -u origin/nololibs_for_git
也可以使用下面的命令關聯遠程分支:
git branch --set-upstream-to 遠程分支名 //例如: git branch --set-upstream-to origin/nololibs_for_maven
執行完上面的命令后,我們可以使用git branch -vv 查看下當前的本地分支和遠程分支的關聯情況:
我們可以發現本地分支nololibs_for_git和遠程分支origin/nololibs_for_git以及關聯上了。
比如我們有時候會想將遠程分支改個名字啥的,或者就是單純想解除與遠程分支的關聯,這時候可以使用下面的命令解除本地分支與遠程分支的關聯:
git branch --unset-upstream
例如:假設現在我想解除本地的nololibs_for_git和遠程的origin/nololibs_for_git的關聯。 首先先用git branch -vv 命令看下分支的關聯情況:
可以發現本地的nololibs_for_git和遠程的origin/nololibs_for_git是關聯著的,這時我們執行命令git branch --unset-upstream,再使用git branch -vv命令查看分支關聯情況。
可以看到只有本地的分支了,遠程的分支以及沒有了,這時候使用git pull命令會提示關聯遠程分支
這時候我們再執行關聯遠程分支的命令git branch -u 遠程分支名 就可以使用了。
審核編輯:湯梓紅
-
命令
+關注
關注
5文章
684瀏覽量
22026 -
Git
+關注
關注
0文章
199瀏覽量
15761 -
遠程倉庫
+關注
關注
0文章
3瀏覽量
2085
原文標題:Git命令之本地分支與遠程分支支關聯/解除關聯
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論