Sourcetree добавляет файлы в глобальный .gitignore, а не в репозиторий .gitignore

Я использую SourceTree для своих репозиториев GIT.

Сегодня мне нужно игнорировать некоторые файлы; когда я добавил эти файлы, чтобы игнорировать список из меню SourceTree "Игнорировать файл" и проверять локальный файл .gitignore, игнорируемые файлы там не указаны. Вместо этого они перечислены в глобальном .gitignore.

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

Ответ 1

Если вы решите игнорировать файл, который был изменен и т.д., SourceTree откроет следующий диалог:

Ignore modal dialogue

Вместо выбора "глобального списка игнорирования" выберите параметр "Только этот репозиторий".

Ответ 2

Самый простой способ отредактировать человека, это щелкнуть правой кнопкой мыши файл. Нажмите Игнорировать и выберите опцию игнорировать только в этом хранилище, тогда вы увидите новый файл с именем .gitignore в списке.

Если вы случайно уже добавили их в список. Вы можете удалить их, зайдя в Sourcetree → Preferences → Git. Смотри ниже. Sourcetree options

В качестве краткого совета - я обнаружил, что в github есть большой выбор файлов игнорирования начальных файлов github, которые я считаю действительно полезными для начала нового проекта

Например: https://github.com/github/gitignore

Ответ 3

В моем случае в какой-то момент Sourcetree начал использовать gitconfig из C:\Program Files\Git\mingw64\etc\gitconfig вместо C:\Users\yourUser.gitconfig.

Как только я добавил следующую строку в этот gitconfig, он решил мою проблему на Sourcetree:

[core]
    safecrlf = false
    excludesfile = C:\\Users\\<YOUR_USER>\\Documents\\gitignore_global.txt

Обратите внимание, что, с моей стороны, настройка общего игнорирования из Tools/Option/Git/, похоже, не учитывалась Sourcetree, поэтому мне даже не нужно ее менять.

Ответ 4

У меня была противоположная проблема, локальная работала, но глобальная работа не работала, для чего вам также нужно создать глобальный файл игнорирования, запустив командную строку

git config --global core.excludesfile ~/.gitignore_global

Другое дерево исходных кодов не сохранит это в настройках.

Затем следуйте решению acanby.