Git Поддерживать историю двух веток и быть в состоянии git push

У меня есть две ветви, которые выглядят так

o--o--A--B-C--D env1 (master), cherry-picking from env2
       \
        X--C--D env2 

Различия между этими двумя ветвями зависят от настроек среды. Я хочу сохранить эти две ветви, потому что мне достаточно просто сделать git checkout для переключения между средами.

Теперь проблема в том, что git push разрешает env2, но отклоняет env1(master). Так как же другие люди получают последние коммиты (в основном вишнёвые из env2) от env1? PS Я не хочу терять историю ни в одной из веток

1 ответ

Решение

Если git push отклоняет ваш коммит, есть веская причина! Прочитайте сообщение. Скорее всего, это потому, что кто-то еще подтолкнул master с твоей последней покупки Отталкивание вашего штата отбросит чужую работу. Вам нужно получить их изменения, объединить ваши, а затем отправить результаты.

git fetch
git checkout master
git merge origin/master
git push origin master
Другие вопросы по тегам