Удалить файл, не удаляя его?


23

У меня есть отслеживаемый файл в репозитории git. Как распаковать этот файл, не удаляя его с помощью magit?

Ответы:


20

При iударе файл gitignore будет удален из хранилища git.

За кулисами это делает git rm --cached- Больше информации об этой команде git из вопроса StackOverflow


Обратите внимание, что вам не нужно добавлять его в файл gitignore. Просто отмените (я думаю, по умолчанию "k") изменения на gitignore после того, как я.
Deadghost

Отмена (использование k) просто возвращает содержимое файла в его последнее зафиксированное состояние; это не отслеживает это. Чтобы проверить это, измените файл, который вы только что удалили, нажмите gна буфер magit, чтобы обновить содержимое, и вы увидите, что этот файл снова появится в разделе Unstaged .
Каушал Моди

Я имею в виду отказ от изменений на .gitignore.
Deadghost

Хорошо, теперь я понимаю, что вы говорите. Первый удар iна файл , который вы хотите untrack , а затем нажмите kна .gitignore. Для моего случая использования, если есть файл, который я хочу отследить, я обычно тоже хочу gitignore. Таким образом, мой магнитный буфер остается чистым и пустым :)
Kaushal Modi

3
Если вам не нужно добавлять файл в gitignore, используйте K (это прописная буква k).
Патрик Фурнье

6

В буфере Magit нажмите K (верхний регистр k) в файле. Работает с magit 2.3; Я не знаю для более ранних версий.


f6a6f40fe8321f3ceb4b8ea9581e450149fea66a , похоже, что это начиная с
версии

2
Я чувствую, что это должен быть принятый ответ на заданный вопрос, хотя другие были полезны.
salotz

5

Используйте M-x magit-file-untrackиз буфера, который посещает отслеживаемый файл, или из буфера Magit. Когда буфер посещает файл, этот файл предлагается по умолчанию.

Когда точка находится в файле в буфере Magit, это также предлагается по умолчанию. Возможно, вы также захотите добавить новое magit-insert-tracked-filesв magit-status-sections-hook, затем дерево всех отслеживаемых файлов будет вставлено в буфер состояния (но это может быть нехорошо для производительности в больших репозиториях).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.