Відповіді:
Якщо ви просто використовуєте rm
, вам потрібно буде дотримуватися цього git add <fileRemoved>
. git rm
робить це за один крок.
Ви також можете скористатися git rm --cached
файлом, який видалить файл з індексу (поклавши його на видалення під час наступного комітету), але збережіть свою копію в локальній файловій системі.
rm
(замість git rm
) та видаляв багато файлів за допомогою нього, а тепер не хочу git
відстежувати їх. Чи є спосіб відновити зміни? Я хочу git
вступити rm
як видалений, оскільки не використовував його git rm
в першу чергу.
Видалення файлів за допомогою себе rm
не є проблемою, але якщо ви хочете скористатись тим, що файл був видалений, вам доведеться все-таки зробити це git rm
, так що ви можете це зробити так само, як миттєво.
Крім того, залежно від оболонки, git rm
якщо ви видалили файл, ви не отримаєте завершення вкладки, тому вам доведеться самостійно прописати шлях, тоді як якщо ви, git rm
поки файл все ще існує, заповнення вкладки буде працювати нормально.
Видаліть файли з індексу, або з робочого дерева та індексу. git rm не видалить файл лише з вашого робочого каталогу.
Ось як можна видалити файл за допомогою, rm -f
а потім видалити його з індексуgit rm
$ rm -f index.html
$ git status -s
D index.html
$ git rm index.html
rm 'index.html'
$ git status -s
D index.html
Однак ви можете зробити це все за один раз просто git rm
$ git status -s
$ git rm index.html
rm 'index.html'
$ ls
lib vendor
$ git status -s
D index.html
Крім відповіді Енді, є додаткова корисність для git rm
:
Безпека : Якщо робити git rm
замість rm
, Git заблокує видалення, якщо є невідповідність між HEAD
версією файлу та індексом поетапної версії або версією робочого дерева. Цей блок є механізмом безпеки для запобігання видаленню незавершених змін.
Захист : git rm --dry-run
. Цей параметр є захистом, який виконує git rm
команду, але фактично не видаляє файли. Натомість він видасть, які файли він би видалив.
git reset --hard
а потім здійснити перевірку майстра, щоб вийти з відокремленого штату, тому що я знав, що у мене не було жодних неспроможних змін. Якщо ви не здійснили своїх змін, можливо, ви захочете зробити git stash, але я відносно новий git, тому я не знаю точної команди. Якщо ви завітали сюди в 2014 році або після цього, я сподіваюся, що ця відповідь була вам корисною.