我有一个Python项目,其中的文档位于孤立的gh-pages
分支中,我是通过this tutorial创建的。项目中有一个doc/build/html
文件夹,用于编译文档以及检出gh-pages
分支的位置。
现在,我意外地在项目根目录中执行了git checkout gh-pages
命令,该命令创建了一个新的gh-pages
分支,现在看来我有两个分支。一个孤儿和一个正常人。是这样吗?
如何删除普通gh-pages
分支,但保留孤立分支?
答案 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
,而不是基于远程分支。