Вы можете зафиксировать свою работу и отправить ее на сервер во временную ветку. Но для этого вам нужно будет зафиксировать файл с маркерами конфликта (git add . ; git commit
). И я советую вам не делать этого, так как слишком легко пропустить одно из конфликтующих мест, когда вы вернетесь к слиянию. Вы также можете попытаться завершить процесс слияния (git squash save
), но я не знаю, можно ли отправить ссылку на сквош на сервер.
Другой альтернативой может быть попытка разбить ваше сложное объединение на более мелкие блоки и протолкнуть каждое промежуточное объединение.
Например, если у вас есть следующая история:
*---*---*---*---*---*---*---*---*---A
\
\--*---0---1---2---3---4---5---B
И попробуйте объединить B с A, вы можете сделать то же самое, сначала объединяя 0, затем 1, затем 2, затем 3, ... затем, наконец, B (0, 1, 2, ... может не быть последовательный коммит, но некоторые важные вехи в ветви B).
Это стратегия, которую мы используем при выполнении сложных слияний. Объединенная ветвь может не находиться в работоспособном состоянии во время этих слияний, поэтому не следует переходить непосредственно к A, а к другой ветви (A-B-слияние), а затем, когда слияние завершено, передать все к A.