Очистка после конфликта git слияния?
У меня был небольшой конфликт в заголовочном файле .h
в проекте, над которым я работаю. Этот проект отслеживается в Git.
К счастью, конфликт был очень прост для решения. Я использовал
git mergetool
И выбрал по умолчанию (opendiff
), который, казалось, был FileMerge на моем Mac. Я внес соответствующие изменения, сохранил файл и закрыл.
Git затем спросил меня, успешно ли слияние, я сказал "да":
Was the merge successful? [y/n] y
Но теперь у меня есть:
> git st
# On branch develop
# Changes to be committed:
# modified: MyHeader.h
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# MyHeader.h.BACKUP.52920.h
# MyHeader.h.BASE.52920.h
# MyHeader.h.LOCAL.52920.h
# MyHeader.h.REMOTE.52920.h
# MyHeader.h.orig
Какие из этих дополнительных файлов конфликтов нежелательной почты были созданы FileMerge и которые Git?
И что еще более важно: как их удалить?
Ответы
Ответ 1
Вы можете просто удалить их, как и любой другой файл. Например:
rm MyHeader.h.orig
В качестве альтернативы, если нет других неиспользуемых файлов, то после того, как вы зафиксируете с помощью
git commit -a
вы можете очистить свой репозиторий с помощью
git clean -n
git clean -f
git clean -n
расскажет вам, что будет делать git clean -f
, поэтому вы можете быть уверены, что хотите.
Ответ 2
Если они являются единственными необработанными файлами, вы можете использовать git clean
для их удаления. Запустите его один раз с помощью флага -n
, чтобы узнать, что будет удалено, и если вы уверены, запустите его с помощью -f
. Не используйте его, если у вас есть необработанные файлы, которые вы хотите сохранить!
Ответ 3
Сначала выполните слияние.
Как только вы убедитесь, что все в порядке, просто удалите эти дополнительные файлы вручную (например, используя rm <filename>
).