0
我只是刪除遠程分支從我們遙遠的Git倉庫:爲什麼Git檢出這個被刪除的分支沒有抱怨?
$ git push origin :obsoleteBranch
To [email protected]<path_to_our_git_repo>/our_git_repo.git
- [deleted] obsoleteBranch
現在我的本地obsoleteBranch的副本是跟蹤一個分支,是「水漲船高」:
git branch -avv
* obsoleteBranch dbef4b0 [origin/obsoleteBranch: gone] commit log...
到目前爲止,一切都很好!
問題是我的同事仍然可以看到遠程分支,甚至git fetch --all
後:當我的同事試圖檢出移除的分支
$ git fetch --all
Fetching origin
......
$ git branch -avv
......
remotes/origin/obsoleteBranch dbef4b0 commit log...
......
Git不會抱怨!
$ git checkout --track origin/obsoleteBranch
並且實際上在結賬時將被刪除的分支用於!
但(證明遠程分支實際上走了)我的同事無法將其刪除:
$ git push origin :obsoleteBranch
error: unable to delete 'obsoleteBranch': remote ref does not exist
error: failed to push some refs to '[email protected]<path...>/our_git_repo.git'
到底哪裏出問題了?
沒有git fetch - 完全同步我的同事的倉庫與遠程倉庫?
他應該運行什麼命令,然後爲了讓他的本地存儲庫考慮git branch -avv
和git checkout
的分支刪除?
是的,的確,我的同事曾經在本地獲得有關過時分支的信息。你的解決方案很好。謝謝。 – Bludzee