簡體   English   中英

Git:從舊提交還原所有更改的文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM