Если проблема в том, что ваши извлеченные файлы не совпадают с веткой, просто используйте git reset
обычно:
git reset --hard HEAD
Это должно быть все, что тебе нужно. Однако, если вы все еще хотите перезаписать master с помощью dev, читайте дальше.
Если вы хотите перезаписать вашу основную ветку содержимым вашей ветви dev, используйте git reset
, например, так:
$ git checkout master
$ git reset --hard dev
И затем, если вы хотите подтолкнуть это куда-нибудь еще:
$ git push origin master
Обратите внимание, что если ваша ветка разработчика не переходит вперед из вашей основной ветки (что, я думаю, не будет, поскольку вы сказали, что в вашей основной ветке есть какие-то испорченные вещи), вам понадобится чтобы добавить флаг --force
в push-файл, чтобы перезаписать его на пульте дистанционного управления:
$ git push origin master --force
Обратите внимание, однако, что это может включать все обычные предостережения переписывания истории а-ля git rebase
- если кто-то еще использует этот пульт, им придется иметь дело с эквивалентом перебазирования вверх по течению.
Чтобы избежать этой проблемы в будущем, посоветуйте своему другу, что использование --force
почти никогда необходимо. Если у них возникают конфликты, когда они пытаются git push
, они должны сначала git pull
, разрешить конфликты, а затем git push
.