Можно ли использовать git checkout - для нескольких файлов, чтобы отменить изменения? Если да, то как я могу указать несколько файлов. Спасибо.
Могу ли я использовать "git checkout -" в двух файлах?
Ответ 1
Запустите команду несколько раз
git checkout -- path/to/file/one
git checkout -- path/to/file/two
Или укажите несколько файлов в одной строке:
git checkout -- path/to/file/one path/to/file/two
Вы также можете указать целые папки, которые будут обрабатывать все файлы под ними.
git checkout -- path/to/folder
git checkout -- . # for the current path
Ответ 2
Я случайно изменил все файлы в каталоге, запустив find в моем каталоге git repo.
[email protected]:/home/me/gitrepo# git status
On branch master
Your branch is up-to-date with 'origin/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)
modified: .bashrc
modified: dir/ec2-user.pem
modified: dir/readme.txt
modified: dir/root.pem
modified: dir/ec2-user.pem
modified: dir/readme.txt
modified: dir/root.pem
modified: dir/ec2-user.pem
modified: dir/ec2-user.pem.pub
modified: dir/readme.txt
modified: dir/root.pem
Чтобы исправить мою ошибку, я выполнил что-то вроде этой команды, чтобы найти все измененные файлы и проверить файлы с помощью мастера.
git status | grep modified | sed 's/^.*modified: //' | xargs git checkout
Ответ 3
Возможный вариант:
git status --porcelain | cut -c4- | xargs git checkout
Ответ 4
Используйте следующую команду
git checkout path/to/fileName path/to/fileName2 path/to/fileName3
Это позволит вам вернуть или отменить изменения в файлах filesName, fileName2 и fileName3
Примечание: эти пробелы в имени пути вызовут проблему с git. Используйте одиночные кавычки '', чтобы заключить имя пути в таких случаях.
Ответ 5
Используйте эту команду
rm path/to/fileName path/to/fileName2 path/to/fileName3
вы можете удалить свой файл из списка.