我有一个 Python 项目,其中文档位于我按照本教程gh-pages
创建的孤立分支中。项目中有一个文件夹,用于编译文档和签出分支。doc/build/html
gh-pages
现在,我不小心git checkout gh-pages
在项目根目录中执行了该命令,该命令创建了一个新gh-pages
分支,现在看来我有两个。一个孤儿,一个正常人。是这样吗?
如何删除正常gh-pages
分支但保留孤立分支?
我有一个 Python 项目,其中文档位于我按照本教程gh-pages
创建的孤立分支中。项目中有一个文件夹,用于编译文档和签出分支。doc/build/html
gh-pages
现在,我不小心git checkout gh-pages
在项目根目录中执行了该命令,该命令创建了一个新gh-pages
分支,现在看来我有两个。一个孤儿,一个正常人。是这样吗?
如何删除正常gh-pages
分支但保留孤立分支?
发生的事情是您创建了一个名为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
这会创建一个本地分支gh-pages
,从gh-pages
您的源(= GitHub)的分支调用。您实际上所做的是您创建了一个gh-pages
基于当前分支的本地分支,可能master
不是基于远程分支。