git - 在 Git 中创建一个新的干净分支以进行 v2 重写

标签 git branch branching-and-merging

我正准备开始一个库的 2.0 版,一个完全重写。我基本上会从头开始,但我想继续在同一个 Git 存储库中工作。我正在尝试弄清楚如何为重写创建一个干净的新分支。

开始的天真方法是创建一个新分支,然后删除所有内容:

$ git checkout -b v2
Switched to a new branch 'v2'

$ rm -rf *
$ git commit -m "empty the branch for a clean slate"
$ git push origin v2

但是,让这个删除分支中所有内容的提交并不理想。我希望能够创建一个新的空分支,同时保留提交历史记录。

似乎 git checkout --orphan v2 会创建一个新的空分支,但它也没有父分支。

有没有另一种方法可以在不丢失提交历史的情况下创建一个干净的空分支?

最佳答案

您的历史记录将始终在 v1 分支中。即大师。当 v2 变得稳定时,你可以创建那个 master 并将旧的 master 重命名为 v1

孤儿是重新开始的最好方式

关于git - 在 Git 中创建一个新的干净分支以进行 v2 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34141860/

相关文章:

Git:在另一个分支工作时修复主分支中的错误

git - merge 从上游更新的冲突

git - 更新 pull 请求后 repo 所有者自动通知

git - 你可以在推送代码时切换分支吗?

git - 有没有办法将目录添加到 Git 但排除 .gitignore 中的扩展名?

git - 如何恢复未推送的 git 提交

git - 有没有一种简单的方法可以更改为以前活跃的分支?

svn - 在 Subversion 中跨分支合并不会添加所有新文件。为什么不?

npm - 如何安装react-admin的 `next`分支?

git - 处理顺序 pull 请求之间依赖关系的好策略