我在GitHub中有一个存储库。我在本地做了很多改变,如果我现在推动,我会遇到很多冲突。所以我决定创建一个新的分支,但我希望这个分支看起来像一个新的存储库,所以我在两个不同的分支下有两个不同的git版本。我该怎么做?
需要一些指导...抱歉,如果这是一个菜鸟问题...
答案 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