给定一个已经使用commit提交,然后使用revert恢复的更改,那么撤消该恢复的最佳方法是什么?
理想情况下,这应该通过一个新的提交来完成,这样就不会重写历史。
给定一个已经使用commit提交,然后使用revert恢复的更改,那么撤消该恢复的最佳方法是什么?
理想情况下,这应该通过一个新的提交来完成,这样就不会重写历史。
当前回答
在最初意外删除所有文件的恐慌之后,我使用以下方法来取回我的数据
git reset HEAD@{1}
git fsck --lost-found
git show
git revert <sha that deleted the files>
其他回答
要返回在提交后恢复的非暂存和暂存更改:
git reset HEAD@{1}
恢复所有未执行的删除操作:
git ls-files -d | xargs git checkout --
在最初意外删除所有文件的恐慌之后,我使用以下方法来取回我的数据
git reset HEAD@{1}
git fsck --lost-found
git show
git revert <sha that deleted the files>
恢复还原程序就可以了
例如,
如果abcdef是你的提交,ghijkl是你还原abcdef时的提交,那么运行:
git revert ghijkl
这将还原还原
或者你可以用git checkout -b <new-branch> and git cherry-pick <commit> the before to the and git rebase to drop revert commit。像以前一样发送拉请求。
我是这样做的: 如果分支my_branchname包含在被还原的合并中。我想取消my_branchname:
我首先从my_branchname执行git checkout -b my_new_branchname。 然后我做一个git重置——软$COMMIT_HASH,其中$COMMIT_HASH是my_branchname第一次提交之前的提交哈希(见git日志) 然后我新建一个commit git commit -m "Add back reverted changes" 然后我向上推新的分支git推origin new_branchname 然后我对新分支提出了拉请求。