Необходимо разрешить конфликт вручную (копирование файла) и затем фиксировать файл (неважно, если бы Вы скопировали его или использовали локальную версию) как это
git commit -a -m "Fix merge conflict in test.foo"
, Мерзавец обычно автоматически фиксирует после слияния, но когда это обнаруживает конфликты, это не может решить отдельно, это применяет все патчи, которые это выяснило и оставляет остальных для Вас, чтобы разрешить и фиксировать вручную. Страница справочника Слияния Мерзавца, Интенсивный курс Мерзавца-SVN или этот запись в блоге могла бы пролить некоторый свет на то, как это, как предполагается, работает.
Редактирование: Видят сообщение ниже, Вы не должны на самом деле копировать файлы сами, но можете использовать
git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt
для выбора версии файла, который Вы хотите. При копировании / редактирование файла только будет необходимо, если Вы захотите соединение обеих версий.
отметьте ответ mipadis как корректный.
Это глупо; кто-то наверняка может сделать лучше:
for f in `find . -name '*.txt' -type f`; do
if test `tail -c 1 "$f" | od -c | head -n 1 | tail -c 3` != \\n; then
echo $f;
fi
done
N.B. это отвечает на вопрос в заголовке, который отличается от вопроса в теле (который ищет файлы, заканчивающиеся на \ n \ n, я думаю).
Другой вариант:
$ find . -name "*.txt" -print0 | xargs -0I {} bash -c '[ -z "$(tail -n 1 {})" ] && echo {}'