[英]Git: Restore all changed files from old commit
我在这里看到了许多还原单个文件的答案,但是在这种情况下,同事设法消除了与特定提交相关的所有更改。
有没有一种方法可以检出在特定提交中已更改的所有文件,并将其向前推送到当前的主文件?
我试过了:
git checkout 3ed2aa8 //go to the commit with the change
git checkout -b getOldFiles //make it a legit branch
git rebase master //get branch up to date
git checkout master //go to local master
git merge getOldFiles //in theory, get the changed files back
我不确定100%,但是我认为它没有取得任何成就。
这将无济于事,因为3ed2aa8是较旧的提交,并且合并优先处理较新的更改。 您可以执行rebase -i [在3ed2aa8之前提交],然后将3ed2aa8重新排序到最前面。 在分支中执行此操作,以确保它满足您的要求。
git checkout -b fix
git rebase -i 3ed2aa8~ [Reorder list in text editor]
git checkout master
git merge fix
否则,为什么不对销毁提交的同事的修订版使用git revert?
git revert --no-commit [bad_rev1]
git revert --no-commit [bad_rev2]
git revert --no-commit [bad_rev...]
git commit
请参阅还原多个git提交
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.