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