Как перестать отслеживать файл в локальном Git?
Подскажите новичку в Git:
есть локальный репозиторий (для изучения гит). Есть некие файлы, и один из файлов ‘two.txt’ (уже проиндексированный), нужно оставить на диске, но исключить из области отслеживания.
В книге «GIT для профессионального программиста» прописана команда, которой я и воспользовался:
git rm —cached two.txt
Статус показал следующую картину:
$ git status On branch master Changes to be committed: (use "git restore --staged . " to unstage) deleted: two.txt Untracked files: (use "git add . " to include in what will be committed) two.txt
Вопрос: как избавиться от отображения информации, что файл не отслеживается?
Я закоммитил это изменение:
$ git commit -a -m 'two.txt not indexed' [master d4f42ee] two.txt not indexed 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 two.txt
Однако строка с информацией о наличии неотслеживаемого файла все равно присутствует:
$ git status On branch master Untracked files: (use "git add . " to include in what will be committed) two.txt nothing added to commit but untracked files present (use "git add" to track)
В чем моя ошибка или непонимание?
В книге этот момент вообще не освещён.
На Тостере есть три сообщения по этому вопросу, но они лишь повторяют те команды, которые я вводил и безрезультатно.
Спасибо.
- Вопрос задан более трёх лет назад
- 10369 просмотров
Больше не следить за изменениями в файле
Я сделал коммит определенного файла. Теперь мне не надо, чтобы GIT следил за изменениями в этом файле. Как мне это лучше сделать?
Отслеживать
141 1 1 золотой знак 2 2 серебряных знака 9 9 бронзовых знаков
задан 20 июл 2012 в 9:28
151 1 1 золотой знак 2 2 серебряных знака 9 9 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Если я правильно вас понял, то вам нужно выполнить следующее
git update-index --assume-unchanged your_file
После этого гит не будет реагировать на какие-либо изменения в этом файле, чтобы отменить это поведение, выполните следующее
git update-index --no-assume-unchanged your_file
Отслеживать
ответ дан 1 дек 2012 в 14:36
AlexDenisov AlexDenisov
6,442 1 1 золотой знак 21 21 серебряный знак 29 29 бронзовых знаков
Спасибо. То что нужно! И последние изменения в файле остались закоммиченными. И новые изменения не отслеживаются!
3 окт 2020 в 10:47
В svne есть changelistы и ignore-on-commit, однако этот подход обычно считается неправильным.
В git’e под source control’ом должны располагаться файлы, изменения в которых должны попадать в репозиторий. Если файл больше не нужен в репозитории, то делайте git rm your-file-name .
Если вы временно внесли изменения в файл (например для тестирования) но не хотите их коммитить, то правильный подход — используйте git stash для этих файлов на время коммита.
Как перестать отслеживать папку git: простые способы
После выполнения этих шагов, Git перестанет отслеживать папку, но она останется в рабочем каталоге и не будет больше попадать в индекс.
Детальный ответ
Как перестать отслеживать папку git
Если вы работаете с Git, вам может потребоваться перестать отслеживать определенную папку в вашем репозитории. Это может быть полезно, если вы хотите исключить определенные файлы или директории из контроля версий. В этой статье мы рассмотрим, как выполнить эту операцию с помощью Git команд.
Прежде всего, давайте рассмотрим, что означает отслеживание папки в Git. Когда вы добавляете папку в репозиторий Git, он начинает отслеживать все изменения, происходящие в этой папке и ее подпапках. Это означает, что Git будет отображать все новые файлы, измененные файлы и удаленные файлы в этой папке.
Чтобы перестать отслеживать папку в Git, вы можете использовать команду «git rm» с параметром «—cached». Давайте предположим, что у нас есть папка «example», которую мы хотим перестать отслеживать:
git rm --cached example
Эта команда удалит папку «example» из отслеживаемых файлов в Git, но оставит ее в локальной файловой системе. Обратите внимание, что она не удалит файлы из репозитория или из вашей рабочей директории.
Если вы хотите удалить папку полностью из репозитория, включая все ее файлы, вы можете использовать команду «git rm» без параметра «—cached»:
git rm -r example
Эта команда удалит папку «example» из репозитория, а также удалит все ее файлы из вашей рабочей директории. Будьте осторожны с этой командой, так как она необратима и удалит все файлы без возможности восстановления.
После выполнения команды «git rm», вам следует сделать коммит, чтобы применить изменения к вашему репозиторию:
git commit -m "Remove example folder"
После этого Git перестанет отслеживать папку «example» и все ее содержимое.
Если вы ошиблись и случайно удалили папку или файл, который вы не хотели удалять, вы можете использовать команду «git restore» для восстановления предыдущего состояния:
git restore example
Команда «git restore» восстановит папку «example» и все ее содержимое из предыдущего состояния.
Кроме того, вы можете использовать файл «.gitignore», чтобы исключить определенные файлы или папки из отслеживания Git. В этом файле вы можете указать шаблоны для игнорирования файлов или папок. Например, если вы хотите исключить все файлы с расширением «.log», вы можете добавить следующую строку в файл «.gitignore»:
Файлы, соответствующие этому шаблону, будут проигнорированы Git.
Важно отметить, что изменения в файле «.gitignore» не будут применяться к уже отслеживаемым файлам. Если вы хотите перестать отслеживать файлы, которые уже были добавлены в репозиторий, вам следует использовать команду «git rm».
Надеюсь, эта статья помогла вам разобраться, как перестать отслеживать папку в Git. Помните, что использование этих команд может иметь серьезные последствия, поэтому будьте внимательны при работе с отслеживаемыми файлами и папками.
Управление большими файлами
Вы можете управлять большими файлами с помощью хранилища больших файлов Git.
Сведения о больших файлах на GitHub
GitHub ограничивает размер файлов, которые можно отслеживать в обычных репозиториях Git. Узнайте, как отслеживать или удалять файлы, выходящие за пределы лимита.
Сведения о хранилище больших файлов Git Large File Storage
На GitHub допустимый размер файлов в репозиториях ограничен. Чтобы отслеживать файлы, размер которых превышает заданное ограничение, можно использовать Хранилище больших файлов Git.
Установка хранилища больших файлов Git
Чтобы использовать Git LFS, необходимо загрузить и установить новую программу отдельно от Git.
Настройка Git Large File Storage
После установки Git LFS необходимо связать его с большим файлом в репозитории.
Сведения об использовании хранилища и пропускной способности
Каждой учетной записи, работающей с Хранилище больших файлов Git, бесплатно предоставляется 1 ГиБ хранилища и 1 ГиБ пропускной способности в месяц. Если квоты пропускной способности и хранилища недостаточно, можно приобрести дополнительную квоту для Git LFS.
Совместная работа с помощью Git Large File Storage
Включив Git LFS, вы сможете получать, изменять и отправлять большие файлы так же, как и файлы, которыми управляет Git. Однако пользователи без Git LFS используют другой рабочий процесс.
Перемещение файла в репозитории в Git Large File Storage
Если вы настроили Git LFS и у вас есть файл в репозитории, который необходимо отслеживать в Git LFS, необходимо сначала удалить его из репозитория.
Удаление файлов из хранилища больших файлов Git
Если вы настроили Git LFS для репозитория, можно удалить все файлы или подмножество файлов из Git LFS.
Устранение ошибок отправки в хранилище больших файлов GIT
Если файлы Git LFS не были отправлены должным образом, можно выполнить ряд действий, чтобы устранить ошибку отправки.