Answers:
造成这种情况的一个可能原因是,如果origin/myBranch仍然存在一个远程分支(例如),则将git checkout myBranch替代git checkout -b myBranch origin/myBranch。这是为了方便第一次签出远程分支的普通情况下的方便,从而创建了一个同名的本地跟踪分支。
还有其他可能性,具体取决于您要使用什么来完成任务,但这是我要检查的第一件事。如果您运行git branch -a,并且origin/myBranch列出了一个列表(origin如果不是,则列出了一个远程列表,如果不是这样的话),那么这可能是元凶。
origin/myBranch仍然存在。如果我myBranch(通过在线界面)删除了Github上的分支,我可以安全地调用git branch -d origin/myBranch以删除该远程分支吗?
git fetch --prune origin。这将清除远程上不再存在的所有本地跟踪分支。
git fetch --prune origin为在远程分支机构的本地引用消失在自动完成。将其从评论移至答案可能会很好。无论如何,感谢您的回复,它对我有所帮助!
git branch -a带我走了正确的路;我的同事建议git fetch --prune --all修剪所有远程控制器上所有死掉的分支,这在与许多使用大量fork的开发人员一起工作时非常有用。
git fetch --prune --all
由于这是单行修复,因此将其发布为自己的答案,但是如果您投票,请务必投票给@twalberg上面的答案。
@twalberg的建议git branch -a使我走上了正轨;我的同事建议git fetch --prune --all修剪所有远程控制器上所有死掉的分支,这在与许多使用大量fork的开发人员一起工作时非常有用。
git branch -a仍然名单要么myBranch还是origin/myBranch?请注意,即使myBranch不存在,git checkout myBranch仍然是git checkout -b myBranch origin/myBranchif 的有效快捷方式origin/myBranch。