2012-03-21 2 views
1

У меня есть подмодуль. Я обновил ветку, скажу «х» и совершил. Теперь мне нужно обновить те же изменения в ветви «Y», которая имеет некоторое отличие от X.git удаление файла при слиянии с этапа

Так вот что я делаю, я проверяю Y, а затем запускаю git merge X. Теперь есть конфликты. Некоторые конфликты не подлежат разрешению, например, журналы изменений и т. Д. Таким образом, файл изменений, который у меня есть, debian/changelog показан конфликтом, а другой - конфликтом.

Что я хочу сделать, не обновлять debian/changelog, сохраняя при этом другие изменения. Пожалуйста, не голосуйте сейчас. Я пробовал много вещей и читал git rm man page.

Я пробовал делать это, git rm --cached debian/changelog, и он добавляет его в список изменений, которые должны быть зафиксированы как удаленные. Это вызывает беспокойство, поскольку я не хочу, чтобы это было удалено в удаленном репозитории git. Пожалуйста, порекомендуйте.

ответ

1

В общем случае, чтобы игнорировать конкретный файл durng merge (с сохранением этого файла с версией ion Git), вы должны установить merge driver, в данном случае "keepMine" script.

Нет необходимости в git rm. Этот сценарий будет уверен, что в случае конфликта для любого файла *.log (например) всегда сохранить файл назначения (т. Е. Одну ветвь Y).

+0

мой вопрос не только для слияния. Я хочу знать, как удалить файл из моего индекса. В следующий раз это может быть другой файл, и тогда мне нужно использовать эту команду. Но я буду использовать скрипт keepMine для некоторых слияний, которые больше выполняются вручную. Спасибо. –

Смежные вопросы