我在 GitHub 中有一个存储库。我在本地做了很多更改,如果我现在推送它,我会遇到很多冲突。所以我决定创建一个新的分支,但我希望这个分支看起来像一个新的存储库,这样我在 git 中有两个不同的版本在两个不同的分支下。我怎么做?
需要一些指导......对不起,如果这是一个菜鸟问题......
如果我正确理解了您的问题,我相信您正在寻找一个孤立分支,一个没有父分支的分支,并帮助您开始一组与任何其他提交无关的新提交。
从手册页git checkout
:
- 孤儿
创建一个新的孤立分支,命名为 ,开始于并切换到它。在这个新分支上进行的第一次提交将没有父母,它将成为与所有其他分支和提交完全断开的新历史的根。
索引和工作树的调整就像您之前运行过“git checkout”一样。这允许您开始一个新的历史记录,该历史记录记录一组类似于通过轻松运行“git commit -a”来进行根提交的路径。
当您想从提交中发布树而不暴露其完整历史时,这可能很有用。您可能希望这样做以发布一个项目的开源分支,该项目的当前树是“干净的”,但其完整历史记录包含专有或其他受累的代码位。
如果您想开始一个断开的历史记录,记录一组与 完全不同的路径,那么您应该在创建孤立分支后立即通过运行“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