Показать сообщение отдельно
  #30 (permalink)  
Старый 25.10.2012, 17:27
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

значит получается так:
Код:
# ВНЕЗАПНО! надо исправить критический баг
$ 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
Ответить с цитированием