是否可以在多文件提交中仅恢复单个文件或文件中的某些更改?
全文 我提交了一堆文件。之后的一些提交,一个将保持无名的人(杰克!!!)将一个文件复制到他的存储库并提交了几个文件,覆盖了我所做的一些更改。我想恢复一个被破坏或更好的文件,进入并恢复该文件中的两个更改。这必须是一个单独的还原提交,因为它是被拉和推的。
通过添加“–no- commit”选项,您可以在不创建新提交的情况下恢复提交。这会将所有恢复的文件留在暂存区域中。从那里,我将执行软重置并添加我真正想要的更改。对于示例工作流程:
git revert <sha-of-bad-commit> --no-commit git reset // This gets them out of the staging area <edit bad file to look like it should, if necessary> git add <bad-file> git checkout . // This wipes all the undesired reverts still hanging around in the working copy git commit