Вероятно, в вашем вопросе недостаточно информации, чтобы дать хороший ответ, но вот несколько советов, которые могут быть полезны.
В git вы создаете слияние с помощью команды git merge <OTHER-BRANCH>
, которая всегда объединит другую ветку с вашим текущим коммитом - обычно это верхушка ветки, в которой вы находитесь. Итак, в простейшей ситуации, если один из ваших коммитов находится на кончике master
, а другой называется B
, тогда вы можете сделать следующее:
- Убедитесь, что вы на
master
с git checkout master
- Объединить
A
в master
с: git merge B
- Перенесите этот результат в ветку
master
в хранилище origin
: git push origin master
Если один из ваших коммитов не на вершине master
- скажем, он называется A
- тогда вы все равно можете создать коммит слияния из A
и B
с помощью:
git checkout A
git merge B
Однако, этот объединенный коммит не будет содержать историю master
, поэтому, если вы передадите его в master
в origin
, это перезапишет историю master
в этом хранилище, что создает проблемы, если ты сотрудничаешь. Тем не менее, если вы хотите продолжить это, вы можете «форсировать» толчок с помощью:
git push -f origin HEAD:master
... и во избежание путаницы вы, вероятно, захотите также сбросить ветку master
, чтобы указать на этот коммит:
# Check that "git status" is clean, to avoid losing uncommitted work:
git status
# Create a new branch that points to where master used to be:
git branch old-master master
# Switch to the master branch:
git checkout master
# Reset the master branch to point to the merge commit you created above:
git reset --hard HEAD@{1}