Git Cherry-Pick 后变基
Git Rebase after Cherry-Pick
假设我必须分支:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada - 62ecb3 - b886a0 [development]
现在 master 分支需要来自 devel 的提交,所以我挑选它:
git checkout master
git cherry-pick 62ecb3
假设某些修补程序已提交给 master,开发分支是否可以安全地变基?
将重复提交,尽管使用不同的 sha-hash。解决这个问题的最佳方法是
- 对 master 进行交互式变基
- 删除精心挑选的提交
- 强制将 master 推送到远程
- 将 master 变基到 develop。
有两种不同的情况:
当你做你的 cherrypick 时,你没有合并冲突(并且也没有改变这些行),所以你在变基时不会有问题并且 git 会计算结果表明更改已经在分支中并且将 "ignore" 此提交所做的更改。
你在 cherrypick 期间确实有合并冲突,所以你必须做一个 rebase interactive 来删除这个提交的行以避免再次冲突
假设我必须分支:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada - 62ecb3 - b886a0 [development]
现在 master 分支需要来自 devel 的提交,所以我挑选它:
git checkout master
git cherry-pick 62ecb3
假设某些修补程序已提交给 master,开发分支是否可以安全地变基?
将重复提交,尽管使用不同的 sha-hash。解决这个问题的最佳方法是
- 对 master 进行交互式变基
- 删除精心挑选的提交
- 强制将 master 推送到远程
- 将 master 变基到 develop。
有两种不同的情况:
当你做你的 cherrypick 时,你没有合并冲突(并且也没有改变这些行),所以你在变基时不会有问题并且 git 会计算结果表明更改已经在分支中并且将 "ignore" 此提交所做的更改。
你在 cherrypick 期间确实有合并冲突,所以你必须做一个 rebase interactive 来删除这个提交的行以避免再次冲突