Я использую Gedit, и каждый раз, когда я сохраняю файл, Gedit создает его копию, а имя копии всегда заканчивается символом ~. Проблема в том, что Git всегда пытается отслеживать эти файлы, и я не хочу этого! Есть ли способ по-прежнему использовать git add .
, но добавлять только те файлы, которые не заканчиваются на ~?
Как сохранить git от отслеживания всех файлов, заканчивающихся символом "~"?
Ответ 1
Вы хотите файл gitignore.
Если вы хотите уничтожить все, что заканчивается тильдой (что должно быть безопасным, я не могу представить разумный случай использования, где это плохо), убедитесь, что следующая строка находится в вашем файле .gitignore
вверху вашей иерархии папок репо:
*~
Если вы также хотите избавиться от этих файлов тильды, расположенных в локальной файловой системе, вы можете. Было бы лучше, если бы Gedit поставил свои резервные файлы где-то в другом месте. JEdit и VIm, эти два редактора, которые я использую больше всего, имеют такие настройки, и это намного чище, чтобы держать их где-то еще, чем загружать gitignore.
К сожалению, у Gedit нет такой опции. Лучшее, что он может сделать, это отключить резервные копии ~
. Прежде чем вы начнете волноваться, худший случай заключается в том, что вы потеряли то, что было в файле непосредственно перед сохранением. Это не в худшем случае - почему вы получили это в репозитории git, правильно?
ПРИМЕЧАНИЕ. Если вы хотите локально хранить суффиксные файлы ~
, сделайте это. .gitignore, который вы создали выше, не позволит вам случайно их разделить.
Вы можете отключить резервные копии суффиксов ~
, как это
Чтобы Gedit не создавал эти резервные копии в будущем, откройте Gedit, откройте диалоговое окно "Настройки" ( "Правка" > "Настройки" ), выберите вкладку "Редактор", удалите флажок "Создать резервную копию файлов до сохранения", и нажмите "Закрыть". После этого Gedit больше не будет делать резервные копии с тильдами повсюду.
Ответ 2
gitignore - это путь. Просто добавьте *~
в .gitignore
в корень вашего репо.
Ответ 3
Чтобы добавить к тому, что сказал @filmor, вы можете создать глобальный файл gitignore, чтобы все репозитории игнорировали файлы резервных копий:
git config --global core.excludesfile ~/.gitignore_global
Это скажет git посмотреть в пути $HOME для файла .gitignore_global
, где вы можете поместить правило *~
.
Ответ 4
Просто дополняю ответы:
Если у вас есть файлы тильды с расширением, например Sketchup, который создает файлы резервных копий, оканчивающиеся на "~.skp", то вам нужно добавить *~.skp
в ваш файл .gitignore. Или измените skp
на расширение используемого вами программного обеспечения. Или используйте *~.*
, если вы уверены, что все файлы, заканчивающиеся тильдой со всеми расширениями, безопасно игнорировать.
Ответ 5
Зачем добавлять файл .gitignore
, когда вы можете редактировать файл открытого текста .git/info/exclude
. "При принятии решения о том, следует ли игнорировать путь, git обычно проверяет шаблоны gitignore из нескольких источников" https://www.kernel.org/pub/software/scm/git/docs/gitignore.html
Если вы добавите *~
в строку в файле .git/info/exclude
в репозитории git. git будет игнорировать этот шаблон и все файлы, заканчивающиеся на тильды.