如何删除分支但保持孤立的同名?

时间:2013-06-10 16:09:29

标签: git git-branch branching-and-merging githooks github-pages

我有一个Python项目,其中的文档位于孤立的gh-pages分支中,我是通过this tutorial创建的。项目中有一个doc/build/html文件夹,用于编译文档以及检出gh-pages分支的位置。

现在,我意外地在项目根目录中执行了git checkout gh-pages命令,该命令创建了一个新的gh-pages分支,现在看来我有两个分支。一个孤儿和一个正常人。是这样吗?

如何删除普通gh-pages分支,但保留孤立分支?

1 个答案:

答案 0 :(得分:2)

您发生的事情是创建了一个名为gh-pages的本地分支。它与您的GitHub帐户上存在的gh-pages分支无关,它只是一个具有相同名称的分支。 (这就是为什么当你试图将它推送到GitHub时你会遇到冲突:两个分支彼此无关。)

您可以安全地删除本地分支:

git branch -d gh-pages

此命令始终是安全的,因为只有当分支中的所有提交都存在于另一个本地分支中时,它才会删除分支。您不能意外删除它的孤立分支。 (不要将它与-D混淆,即使它有未合并的唯一提交,也会删除分支。)

顺便说一下,也许这就是你首先要寻找的命令:

git checkout --track origin/gh-pages
# or in older versions of Git:
#git checkout -b gh-pages origin/gh-pages

这将从您的原点(= GitHub)的gh-pages分支创建一个名为gh-pages的本地分支。你实际做的是你根据你当前的分支创建了一个名为gh-pages的本地分支,可能是master,而不是基于远程分支。