使用零文件在git中创建一个新分支

时间:2013-04-03 03:45:22

标签: git github

我在GitHub中有一个存储库。我在本地做了很多改变,如果我现在推动,我会遇到很多冲突。所以我决定创建一个新的分支,但我希望这个分支看起来像一个新的存储库,所以我在两个不同的分支下有两个不同的git版本。我该怎么做?

需要一些指导...抱歉,如果这是一个菜鸟问题...

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题,我相信你正在寻找一个孤儿分支,一个没有父母的分支,并帮助你开始一组与任何其他提交无关的新提交。

来自git checkout的手册页:

  

- 孤儿

     

创建一个名为,启动并切换到它的新孤立分支。第一次提交这个新的   分支将没有父母,它将成为新历史的根源   与所有其他分支和提交完全断开。

     

索引和工作树的调整就像之前一样   跑" git checkout"。这允许您开始新的   记录一组类似于容易的路径的历史记录   运行" git commit -a"进行root提交。

     

当您想要从提交中发布树时,这非常有用   没有暴露其完整的历史。你可能想这样做   发布当前树为的项目的开源分支   " clean",但其完整历史记录包含专有或其他内容   填补了一些代码。

     

如果要启动记录一组的断开连接的历史记录   然后,与那个完全不同的路径   您应该在创建后立即清除索引和工作树   通过运行" git rm -rf来获取孤儿分支。"从顶层   工作树。之后您将准备好准备新文件,   通过从其他地方复制工作树来重新填充工作树,   提取tarball等

这些是实现这一目标的步骤:

git checkout --orphan my-new-orphan-branch
git rm -rf .
< Create your new files here >
git add <FILE1> <FILE2> ...
git commit -m 'Initial commit'

# Push the changes into the remote named origin
git push origin my-new-orphan-branch