说我这样做如下操作:如何在恢复后提交相同的提交,同时保留提交信息?
git init
touch initial && git add initial && git commit -m "Initial commit"
git checkout -b A
touch test_1 && git add . && git commit -m "Commiting test 1" NORMAL
touch test_2 && git add . && git commit -m "Commiting test 2" NORMAL
git checkout master
git merge --no-ff A
git revert -m 1 head
现在,恢复这些提交,变化的东西后,我决定,我再次想这些提交。我不能再做git merge A
,因为那些提交已经在分支中。
我宁愿不做git revert head
,因为当有人跑git blame
时,他们会看到Revert "Revert "Merge branch 'A'""
这不是特别有用。所以我想要保留原始提交的提交消息/正文。
我的破解是在A
上运行git rebase,并稍微修改了第一次提交的消息,因此提交的哈希值已更新,我可以再次合并,但必须有更好的方法来完成同样的事情。
我宁愿不恢复恢复(请参阅问题为什么)。你能更具体地说明我将如何使用樱桃挑选?可以肯定的是,我不能做'git cherry-pick master ... A',因为最后一次提交是樱桃挑选不喜欢的合并。 –
我已经添加了修补程序选项,也许您可以使用它在您选择的提交之间创建一个修补程序。 – hurturk