Вы использовали git revert
, возможно, вы хотели использовать git reset
.
Ваша история должна выглядеть следующим образом:
# from branch my/current/branch :
$ git log --oneline --graph
* eacf304 more of my work
* eacf302 some of my work
* eacf301 reverted faulty commit
* eacf300 my friend's version
* eacf299 last working version
...
Вот способ переписать историю вашей локальной ветки, чтобы «забыть» о eacf300
и eacf301
:
$ git rebase --onto eacf299 eacf301 my/current/branch
Это воспроизведет все коммиты, начиная с eacf301
(не в комплекте) поверх eacf299
.
Ваша история теперь будет выглядеть так:
$ git log --oneline --graph my/current/branch origin/my/current/branch
* eacf304 (my/current/branch) more of my work
* eacf302 some of my work
| * eacf300 (origin/my/current/branch) my friend's version
|/
* eacf299 last working version
...
Ваш следующий git pull
объединит работу вашего друга с вашей веткой.