значит получается так:
Код:
|
# ВНЕЗАПНО! надо исправить критический баг
$ git stash # откладываешь текущие изменения
$ git pull origin branch # получаешь актуальное содержимое ветки
.... # исправляешь баг
$ git commit
$ git push
...
$ git stash pop # возвращаешься к тому, чем до этого занимался
...
$ git cherry-pick -nm 1 a12345 # копируешь один коммит из другой ветки
...
$ git revert -nm 1 b67890 # отменяешь другой коммит из текущей ветки |
по поводу -m, получается, что -m 1 - для той ветки, в которую делали merge:
Код:
|
git init
echo '1
2
3' > 1
git add .
git commit -m 1
git checkout -b 2
echo '1
2
33' > 1
git add .
git commit -m 2
git checkout master
echo '11
2
3' > 1
git add .
git commit -m 2
# git checkout 2 # не работает, если раскомментировать
# git merge master # и комментарий к reverse неправильный (reversing changes made to ...)
# git checkout master # потому что в этом случае должно быть -m 2
git merge 2
git revert -m 1 HEAD |