簡體   English   中英

將提交的文件還原為master中的版本?

[英]Revert committed files to their version in master?

我修改了許多文件並提交了我的更改。

我注意到有3個文件我不應該修改,我希望它們回到原來的狀態,但是我不想重置為之前的提交,因為我不想要我的其他文件更改丟失。 我該如何做到這一點?

如果你還沒有推送,所以你的提交目前只是本地的,一個簡單的過程就是

# restore these 3 files to their previous state
git checkout HEAD^ -- path/to/file1 path/to/file2 path/to/file3

# include these changes...
git add path/to/file1 path/to/file2 path/to/file3

# ... in last commit
git commit --amend

但是,如果您已經推送過 ,則有兩種基本方案:

1) 無論你對這個回購單獨工作,或分享回購,但這一分支(常常為功能分支的情況下單獨工作,而是取決於你的工作流程)

上面的過程很好,只要知道下次你想要推送到遙控器時,你必須在你的push命令中使用-f標志來強制更新舊的ref。

2) 或者這是一個共享分支,它的歷史記錄如果沒有一些麻煩就無法改變

然后應該避免重寫歷史的上述過程。 相反,你只需要在結尾省略--amend參數,它將進行一個新的提交,它只包含你文件的最后一次修改。 不是優雅,而是首先提交它,但你沒有改變歷史記錄,你的文件很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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