Игнорировать строку в .gitignore - PullRequest
2 голосов
/ 06 июня 2019

.gitignore проекта (поддерживаемый кем-то другим) выглядит так:

.idea/*
!.idea/watcherTasks.xml

Я хочу добавить частные задачи наблюдателя, поэтому мой watcherTasks.xml изменился. Но я не хочу совершать это.

Я не хочу вводить git reset .idea/watcherTasks.xml (или указывать пути) каждый раз, когда я git add / git commit. Поэтому я попытался использовать .git / info / exclude для локального игнорирования файла:

.idea/watcherTasks.xml

Однако строка .git / info / exclude не может переопределить строку .gitignore (возможно, потому что ! имеет более высокий приоритет).

Есть ли что-то, что я могу поместить в .git / info / exclude, чтобы отменить эффект строки !.idea/watcherTasks.xml в .gitignore? Я не хочу изменять .gitignore, так как я не поддерживаю проект.

Этот вопрос не задает подходы, подобные git commit $path, потому что я не хочу менять будущие команды коммита для использования.

Ответы [ 2 ]

2 голосов
/ 06 июня 2019

Если я понимаю, что вы спрашиваете (в итоге: игнорировать правило игнорирования), ответ - нет. В документации .gitignore: https://git -scm.com / docs / gitignor e itясно сказано следующее:

Файл gitignore определяет намеренно не отслеживаемые файлы, которые Git должен игнорировать.Файлы, уже отслеженные Git, не затрагиваются;

Теперь, как вы заметили, вы не хотите влиять на общий репозиторий.Так что, думаю, вам не повезло в этом.К сожалению.

1 голос
/ 06 июня 2019

Если ваш .idea/watcherTasks.xml уже отслежен, вы можете:

  • изменить его локально
  • убедиться, что он остается не добавлен / зафиксированс

    cd /root/folder/of/your/local/repository
    git update-index --skip-worktree -- .idea/watcherTasks.xml
    

Это означает:

  • нет необходимости переопределять правило игнорирования
  • нет необходимости изменять .gitignore

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

...