Как я могу добавить уже зафиксированные файлы в .gitignore, сохранив его?

Существует файл, который уже зафиксирован.

Я хочу добавить файл .gitignore. Я хочу сохранить файл.

Например)

$ git ls-files
  foo

$ echo "foo" > .gitignore

$ echo "test" >> foo

$ 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:   foo
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
#
no changes added to commit (use "git add" and/or "git commit -a")

Как видите, статус файла foo изменился на «изменен». Я хочу быть немодифицированным статусом. Как я могу добавить файл foo в .gitignore, не удаляя его.


Уже ответили не то, что я хотел. То, что я хочу, не является локальной установкой. Я хочу, чтобы каждый разработчик не использовал метод «git update-index --assume-unchanged path/to/file.txt».


person Sunny An    schedule 07.04.2020    source источник
comment
@jonrsharpe, конечно, я добавлю .gitignore. но это не основная точка зрения. Спасибо!   -  person Sunny An    schedule 07.04.2020


Ответы (1)


  1. Удалить foo из git:

    git rm --cached foo

  2. Зафиксируйте файл .gitignore вместе с этим удалением:

    git добавить .gitignore

    git совершить

person xstefi    schedule 07.04.2020
comment
Это не то, чего хотел @SunnyAn ... то, что вы описываете, полностью удаляет его, но он просто больше не должен отслеживать изменения. - person jugendhacker; 07.04.2020