我有一个大型 git 项目,我愚蠢地导入了 eclipse 并在其上运行了自动格式化。现在,项目中的每个文件都显示为已修改。与其提交我的格式化文件,我宁愿还原所有我只被格式化并且没有其他更改的文件。例如:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
# (commit or discard the untracked or modified content in submodules)
# modified: dir/file1.cpp
# modified: dir/file1.h
# modified: dir/file2.cpp
# modified: dir/file2.h
# modified: dir/file3.cpp
# modified: dir/file3.h
# modified: dir/file4.cpp
# modified: dir/file4.h
我知道file2.cpp
, file2.h
, 并且file3.cpp
已经修改了内容(即,不仅仅是格式化)。我想存储对这三个文件的更改,然后签出旧版本,以便之后我可以重新应用对这些文件的更改。我宁愿避免这样的事情:
$ cp file2.cpp ~/tmp
$ git checkout blahblahblah
$ cp ~/tmp/file2.cpp .
如果有一种明显的方法可以做到这一点而不涉及隐藏,请告诉我。什么都能完成工作。