1

我有一个 Python 项目,其中文档位于我按照本教程gh-pages创建的孤立分支中。项目中有一个文件夹,用于编译文档和签出分支。doc/build/htmlgh-pages

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

如何删除正常gh-pages分支但保留孤立分支?

4

1 回答 1

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

这会创建一个本地分支gh-pages,从gh-pages您的源(= GitHub)的分支调用。您实际上所做的是您创建了一个gh-pages基于当前分支的本地分支,可能master不是基于远程分支。

于 2013-06-10T21:25:04.893 回答