我在一段代码中修复了两个错误,它修改了常见文件.例如,错误修复1修改了文件A,B,C和错误修复2修改了B,C和D.我在一次提交中有所有更改.出于代码审查的目的,我需要将更改拆分为两个提交(实际上是两个分支).
我在想的是,从我现在的分支fix,我创建了两个分支,如git branch fix-1 fix和git branch fix-2 fix.两个分支都有所有变化.现在,在分支中fix-1,我想保留与修复1相关的更改,即文件A中的所有更改,以及文件B和C中的更改部分.是否可以在git中执行此操作?什么命令与此相关?
我知道git add,我可以进行交互式添加,我可以选择要添加的代码,而不仅仅是文件级别.我可以在这里做类似的事吗?
如果提交是您的最后一次提交,这是一个解决方案.
使用修复程序检查分支
git checkout fix
Run Code Online (Sandbox Code Playgroud)重置回修复之前,但保留工作目录中的更改
git reset HEAD^
Run Code Online (Sandbox Code Playgroud)为fix-1创建分支
git checkout -b fix-1
Run Code Online (Sandbox Code Playgroud)添加/提交修复1修复
git add -p
git commit
Run Code Online (Sandbox Code Playgroud)存储剩余的更改
git stash
Run Code Online (Sandbox Code Playgroud)checkout/create branch for fix-2
git checkout -b fix-1
Run Code Online (Sandbox Code Playgroud)摆脱你隐藏的变化
git stash pop
Run Code Online (Sandbox Code Playgroud)提交/添加它们
git commit -a
Run Code Online (Sandbox Code Playgroud)