Ukryj zmiany w określonych plikach

Mam duży projekt git, który głupio zaimportowałem do eclipse i uruchomiłem autoformatowanie. Teraz każdy plik w projekcie jest wyświetlany jako zmodyfikowany. Zamiast zatwierdzać moje sformatowane pliki, wolałbym przywrócić wszystkie pliki, które zostały tylko sformatowane i nie miały innych zmian. Na przykład:

$ 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

wiem tofile2.cpp, file2.h, ifile3.cpp zostały zmodyfikowane treścią (tj. nie tylko sformatowane). Chcę zapisać zmiany w tych trzech plikach, a następnie wyewidencjonować starą wersję, dzięki czemu mogę ponownie zastosować zmiany do tych plików po. Wolałbym raczej unikać czegoś takiego:

$ cp file2.cpp ~/tmp
$ git checkout blahblahblah
$ cp ~/tmp/file2.cpp .

Jeśli istnieje oczywisty sposób na zrobienie tego, co nie wiąże się ze składowaniem, daj mi znać. cokolwiek robi zadanie.

questionAnswers(5)

yourAnswerToTheQuestion