Ответы:
Если вы хотите, чтобы все изменения были внесены masterв dev_branch, то:
git checkout dev_branch
git reset --hard master
Это работает, только если другие люди не клонировали репозиторий.
Если вы уже dev_branchнажали на пульт, вы должны сделать:
git push --force
Для принудительного нажатия на пульт. Внимание: это сломает историю ветки для людей, которые ее клонировали раньше! Затем другие люди должны будут сделать git pull --rebaseизменения, dev_branchчтобы получить изменения.
Вы также можете переименовать ветку dev во что-то старое, а затем создать новую ветку masterс тем же именем:
git branch -m dev_branch old_dev_branch
git branch -m master dev_branch
Или используйте oursстратегию - не уверен, почему она не будет работать для вас:
git checkout master
git merge -s ours dev_branch
git checkout dev_branch
git merge master
dev_branchперейти к источнику (если оно имело место), и у вас больше не будетmasterлокальной ветки.