Подтвердить что ты не робот

Очистка после конфликта 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?

И что еще более важно: как их удалить?

4b9b3361

Ответ 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>).