认为有一些文件:
- A/1.cpp
- A/2.cpp
- A/3.cpp
- A/100.cpp
- B/1.cpp
- B/2.cpp
- C/1.cpp
- C/2.cpp
- C/3.cpp
执行git commit -a
后,我想将更改恢复为B/1.cpp和B/2.cpp。
有什么简单的方法吗?
我假设您想要修改现有的提交。如果你想创建一个新的提交,你已经有了将它们恢复到以前版本的正确命令;只需在运行后再次提交即可。
方法1
首先撤消提交:
git reset HEAD^
更改后的文件仍处于暂存状态,因此取消暂存要还原的文件(是的,令人困惑的是,这也使用了git reset
(:
git reset B/1.cpp B/2.cpp
然后再次提交:
git commit
方法2
将文件重置为以前的版本:
git checkout HEAD^ -- B/1.cpp B/2.cpp
它们仍处于暂存状态,因此您现在可以修改您的承诺:
git commit --amend