私は大規模な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
います(つまり、フォーマットされているだけではありません)。これらの3つのファイルへの変更を隠してから、古いリビジョンをチェックアウトして、後でこれらのファイルに変更を再適用できるようにします。私はむしろ次のようなものを避けたいです:
$ cp file2.cpp ~/tmp
$ git checkout blahblahblah
$ cp ~/tmp/file2.cpp .
隠し場所を含まない、これを行うための明白な方法がある場合は、私に知らせてください。仕事を成し遂げるものは何でも。