Я изменил некоторые настройки в моем файле конфигурации, которые я не хочу нажимать на удаленный репозиторий.
Я хочу, чтобы он выполнял только один проект локально.
Я видел, что есть несколько способов сделать это:
Per Computer: through settings in ~/.gitconfig
Я использую SourceTree
и только когда я использую параметр (2), я вижу, что файлы исчезли из пользовательского интерфейса.
В чем разница между (1) и (2)?
Действительно ли это означает, что файлы не игнорируются, когда я вижу их в SourceTree после использования опции (1)?
Файл .gitignore
предотвращает появление файлов в файлах, которые будут добавлены в репозиторий. Если файл уже находится в репо, когда он добавлен в файл .gitignore
, любые изменения в файле будут показаны git и могут быть зафиксированы. Настройки .gitignore
влияют только на новые файлы, находящиеся в пути репозиториев. Вы использовали бы это для хранения файлов temp, созданных вами, IDE или компиляции файлов, отображающих и загромождающих список файлов, которые вы изменили, когда вы выполняете git status
.
git update-index --assume-unchanged
не показывает, что файл вообще был изменен. Если вы внесете какие-либо изменения в файл, git не покажет, что он был изменен в git status
. Вы должны использовать это с конфигурационными файлами для пользователей. Когда репозиторий клонируется, он должен иметь файл, но могут потребоваться некоторые изменения, необходимые им, чтобы они могли использовать код (т.е. Изменить путь к файлу для их локальной машины). Но вы не хотите, чтобы они случайно зафиксировали файл и испортили вещи другим, когда они втягивают изменения.
Для изменений в файле конфигурации вы хотите использовать опцию git update-index
. Вам нужен файл конфигурации в репо, но вы не хотите вносить в него изменения.
update-index
- это сантехническая команда , которая на самом деле не предназначена для конечных пользователей. Конечно, многие люди используют его, и в этом нет ничего плохого. Но я бы посоветовал избегать этого, если можешь. Один хороший вариант для файлов конфигурации, которые не используютupdate-index
- это зафиксировать файл шаблона , например,settings.default.ini
, и рекомендовать пользователям скопировать его в конфигурацию, ожидаемую вашим приложением, например,settings.ini
, и изменить как необходимо..gitignore
файлsettings.ini
?