我想将一个git分支拆分为两个分支,因为它包含两个不相关的特性,需要单独审查和合并。
我希望有选择地将某些文件中的更改移动到新的分支中。
首先创建一个新分支:
git checkout main
git checkout -b new-branch
从原始分支进行一些更改:
git checkout --patch orig-branch foo.py
git checkout --patch orig-branch bar.py
...
git commit
请记住:我们希望移动更改,而不是复制它们。
git show > ~/tmp/new-branch.patch
现在取消对新分支的更改。
git checkout orig-branch
git apply -p0 --reverse ~/tmp/new-branch.patch