В чем разница между ~ / .gitignore и `git update-index --assume-unchanged`

1

Я изменил некоторые настройки в моем файле конфигурации, которые я не хочу нажимать на удаленный репозиторий.

Я хочу, чтобы он выполнял только один проект локально.

Я видел, что есть несколько способов сделать это:

Per Computer: through settings in ~/.gitconfig

  • git update-index - без изменений (2)

Я использую SourceTree и только когда я использую параметр (2), я вижу, что файлы исчезли из пользовательского интерфейса.

В чем разница между (1) и (2)?

Действительно ли это означает, что файлы не игнорируются, когда я вижу их в SourceTree после использования опции (1)?

Теги:
repository
atlassian-sourcetree

1 ответ

1
Лучший ответ

Файл .gitignore предотвращает появление файлов в файлах, которые будут добавлены в репозиторий. Если файл уже находится в репо, когда он добавлен в файл .gitignore, любые изменения в файле будут показаны git и могут быть зафиксированы. Настройки .gitignore влияют только на новые файлы, находящиеся в пути репозиториев. Вы использовали бы это для хранения файлов temp, созданных вами, IDE или компиляции файлов, отображающих и загромождающих список файлов, которые вы изменили, когда вы выполняете git status.

git update-index --assume-unchanged не показывает, что файл вообще был изменен. Если вы внесете какие-либо изменения в файл, git не покажет, что он был изменен в git status. Вы должны использовать это с конфигурационными файлами для пользователей. Когда репозиторий клонируется, он должен иметь файл, но могут потребоваться некоторые изменения, необходимые им, чтобы они могли использовать код (т.е. Изменить путь к файлу для их локальной машины). Но вы не хотите, чтобы они случайно зафиксировали файл и испортили вещи другим, когда они втягивают изменения.

Для изменений в файле конфигурации вы хотите использовать опцию git update-index. Вам нужен файл конфигурации в репо, но вы не хотите вносить в него изменения.

  • 0
    update-index - это сантехническая команда , которая на самом деле не предназначена для конечных пользователей. Конечно, многие люди используют его, и в этом нет ничего плохого. Но я бы посоветовал избегать этого, если можешь. Один хороший вариант для файлов конфигурации, которые не используют update-index - это зафиксировать файл шаблона , например, settings.default.ini , и рекомендовать пользователям скопировать его в конфигурацию, ожидаемую вашим приложением, например, settings.ini , и изменить как необходимо.
  • 0
    а затем .gitignore файл settings.ini ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню