我对 Git 还是比较陌生,而且我的存储库有点乱。我希望有一种无需重新克隆即可修复它的方法。
我有一个从 Github 克隆的存储库。存储库有几个分支。我在 master 分支上工作了一段时间,但后来需要切换到其他分支之一。
所以,我有:
$ git branch --all
* master
remotes/origin/abc
remotes/origin/def
remotes/origin/HEAD -> origin/master
remotes/origin/ghi
问题:我想切换到“abc”分支,但我没有执行 git checkout remotes/origin/abc
我不小心执行了 git branch remotes/origin/abc
这给我留下了以下内容:
$ git branch --all
* master
remotes/origin/abc
remotes/origin/abc
remotes/origin/def
remotes/origin/HEAD -> origin/master
remotes/origin/ghi
我的问题是:
- Git 到底为什么允许你用相同的文件创建两个分支 姓名?
- 如何确定哪个是真正的 remotes/origin/abc 分支?
- 如何删除我创建的不需要的 remotes/origin/abc 事故?
非常感谢任何帮助。
最佳答案
您不能创建同名的两个本地分支或两个远程分支。
这里有一个名为
remotes/origin/abc
的本地分支和一个位于远程origin
上的名为abc
的远程分支。它们的名称不同,但当您使用git branch --all
命令时似乎是这样。要识别哪个分支是哪个分支,您可以使用
git branch
显示本地分支,或使用git branch --remote
显示远程分支。即使使用带有分支语法着色的git branch --all
(git config --global color.branch auto
),您也可以轻松区分它们。要删除意外创建的本地分支
abc
,您必须执行git branch -d abc
(或git branch -D abc
强制删除,参见man git-branch
)。
关于git - 为什么 Git 允许我创建两个同名的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359978/