是否可以在多文件提交中仅恢复单个文件或文件中的某些更改?
全文 我提交了一堆文件。一些提交之后,某个将保持匿名的人(JACK!!!)将一个文件复制到他的存储库中并提交了几个文件,覆盖了我所做的一些更改。我想还原一个被破坏或更好的文件,进入并还原该文件中的两个更改。这必须是一个单独的恢复提交,因为它被 pull 和推。
最佳答案
通过添加 --no-commit
选项,您可以在不创建新提交的情况下恢复提交。这会将所有还原的文件留在暂存区中。
从那里开始,我将执行混合重置(重置的默认设置)以取消暂存文件,并添加我真正想要的更改。然后,提交(如果您想要多次提交,您可以添加和提交更多文件),最后,检查当前目录以清除因 revert
导致的任何未提交和未暂存的修改。对于示例工作流:
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 commit
git checkout . # This wipes all the undesired reverts still hanging around in the working copy
关于git - 我可以在 GIT 中进行部分还原吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669358/