Git игнорировать изменения локального файла
Я пробовал оба
git update-index --assume-unchanged config/myconfig
и
редактирование .git/info/exclude
и добавление config/myconfig
однако, когда я делаю git pull, я всегда получаю:
Обновление 0156abc..1cfd6a5 Ошибка: ваши локальные изменения в следующих файлах будут перезаписаны слиянием: конфиг /MyConfig Пожалуйста, сделайте свои изменения или запишите их, прежде чем сможете объединиться. Aborting
Что мне не хватает?
Ответы
Ответ 1
git pull
хочет, чтобы вы удалили или сохранили текущую работу, чтобы слияние, которое оно запускало, не вызывает конфликтов с вашей незавершенной работой. Обратите внимание, что вам нужно будет только удалить/сохранить невоспроизводимые файлы, если изменения, которые вы вытаскиваете, создают файлы в тех же местах, что и локальные незафиксированные файлы.
Удалите незафиксированные изменения
Отслеживаемые файлы
git checkout -f
Отслеживаемые файлы
git clean -fd
Сохраните изменения для более поздних
Отслеживаемые файлы
git stash
Отслеживаемые файлы и файлы без следа
git stash -u
Повторно примените свой последний тайник после git pull
:
git stash pop
Ответ 2
Скорее всего, файлы были поставлены.
git add src/file/to/ignore
Чтобы отменить поэтапные файлы,
git reset head
Это приведет к отключению файлов, позволяющих выполнить следующую команду git.
git update-index --assume-unchanged src/file/to/ignore
Ответ 3
Вам, вероятно, нужно сделать git stash
перед тем, как вы git pull
, потому что он читает ваш старый файл конфигурации. Итак:
git stash
git pull
git commit -am <"say first commit">
git push
Также см. git -stash (1) Страница руководства.
Ответ 4
Если вам не нужны локальные изменения, сделайте ниже, чтобы игнорировать (удалять постоянно) локальные изменения.
- Если его неустановленные изменения
git checkout <filename>
- Если его поэтапные изменения
git reset <filename>
и git checkout <filename>
Если вы не хотите потерять свои локальные изменения, тогда запишитесь и потяните. Позже слейте свои изменения из stash.
- Сделайте
git stash
, а затем получите последние изменения из repo git pull
, а затем слейте свои изменения из stash git stash pop