Как перенести предыдущий коммит в голову ветки - PullRequest
0 голосов
/ 18 июня 2020

Я работаю над проектом с соавтором, и никто из нас не очень хорош в GitHub. Проект здесь . Он подтолкнул commit , что мне в принципе не нужно. Я хочу, чтобы мой commit был главой. Видимо в двух файлах есть конфликты, и я даже не могу понять, где они. Я пробовал git reset --hard b8b0907bc259f245ff039805179b943763ddb5d9

, и это вернуло мой локальный репозиторий к той фиксации, которую я хотел. Но он не позволил мне sh это, потому что он сказал, что мой местный филиал был позади:

hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.

1 Ответ

1 голос
/ 18 июня 2020

Это сделает то, о чем вы просите:

git stash                                # in case you have any unsaved changes
git fetch                                # update your local repo with what's in remote origin
git checkout blais_replication           # move HEAD to this branch
git reset --hard b8b0907bc259f2          # set branch to that commit (7b1aee is now "lost")
git push --force                         # make remote origin like how your repo is

Обратите внимание, что это эффективно «изменит историю», сделав ее так, как будто 7b1aee никогда не фиксировался. Другие пользователи увидят ошибку syn c из-за изменения истории. Они могут работать:

git checkout blais_replication
git fetch                                   # update local repo
git reset --hard origin/blais_replication   # moves branch to where origin/blais_replication has been moved back to (b8b0907bc259f2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...