1

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

Конечный результат будет таким же, как проверка другой ветви, копирование файлов, затем возврат к исходной ветви и просто вставка поверх них.

РЕДАКТИРОВАТЬ: Я попытался объединить ветку в рабочее дерево, чтобы она была в состоянии слияния, затем сделал git reset originalbranch, и это почти сработало, но все конфликтующие файлы остались с комментариями diff ...

EDIT2: Просто понял, что я был на SU, а не так ...

2 ответа2

3

Это, кажется, делает трюк:

git merge otherbranch --no-commit --no-ff -X theirs
git reset currentbranch

«-X их» необходим, так как «--strategy = их» не является допустимой стратегией.

«--no-commit --no-ff» предотвращает слияние, оставляя файлы в рабочем дереве

И сброс отменяет состояние слияния, но оставляет файлы.

0

Может быть возможно сделать git rebase вашей ветки. Это объединяет изменения без создания нового коммита слияния. Это работает только в том случае, если между двумя ветвями нет конфликтующих изменений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .