У меня есть большой проект 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 .
Если есть очевидный способ сделать это, не прибегая к хранению, дайте мне знать. все, что выполняет свою работу.
git add
файлы с изменениями, которые хотите сохранить, а затемgit checkout -- .
, а затем отключить добавленные файлы в конце, если хотите. - person mikej   schedule 06.09.2012git stash push -- file2.cpp file2.h file3.cpp
. См. мой ответ ниже - person VonC   schedule 23.03.2017