经常会遇到要在分支和主干上同时做相同的修改,可以使用打补丁的方式
一种做法是用git format-patch
1. 在一个分支上修改好之后,提交,并拿到submit号,例如ab68d50e804b9b31c831a203fae2f0693f29930d
2. git format-patch -M -C ab68d50e804b9b31c831a203fae2f0693f29930d~1..ab68d50e804b9b31c831a203fae2f0693f29930d
表示一个范围,~1表示之前一个提交
3. 上面这步会生成一个0001-.patch文件(文件名可能不同)
4. 切换到另一个分支上,git am 0001-.patch(失败)
5. 使用git apply 0001-.patch即可,还需要自己commit,push
我在应用.patch文件到分支上时失败,于是我用了另外一种方法
1.在一个分支上修改好后,暂不提交,用git diff > abc.patch生成一个diff文件
2.提交到当前分支后切换到另一个分支
3.git apply abc.patch即可