我正在开发一个git的分支,它有两个文件A.c
和B.c
。
我正在创建对A.c
和B.c
但现在我希望对B.c
所做的所有更改都与此分支隔离并创建为不同的分支,此分支还应具有B.c
的所有历史记录。
这看起来像一个明显的用例,因为我们可能在中间决定B.c
是一个非常关键的文件,因此需要一个不同的分支,因为其他人可能需要处理它。
答案 0 :(得分:0)
假设您已经提交了A.c和B.c,您可以:
创建一个新分支
git checkout -b newBranch
reset A.c
to a state where those modifications were not done
git checkout @~1 -- A.c
git commit -m "Keep only B.c changes"
最终结果是一个只有B.c
补丁的新分支,以及B.c
的完整历史记录。