是否可以重置已提交的部分文件

  • 本文关键字:文件 提交 是否 git
  • 更新时间 :
  • 英文 :


认为有一些文件:

  • 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

最新更新