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

monolithed, давай еще раз
Код:
# надо исправить критический баг
git stash   # откладываешь текущие изменения
git pull origin branch   # получаешь актуальное содержимое ветки
....   # исправляешь баг, commit, push
git stash apply   # возвращаешься к тому, чем до этого занимался
...   # понимаешь, что надо отменить коммит abcdef
git cherry-pick -nm 1 abcdef   # применяешь коммит (из другой ветки?)
git revert -nm 1 abcdef   # отменяешь его действие
А про -m 1 можешь подробнее рассказать? Насколько я понимаю, это на случай если в том коммите будет merge? Можно сказать, что там должна быть единица, не смотря в журнал?

Сообщение от melky
... сколько бы я ни читал, всё равно не могу понять работу cherry-pick. Не могли бы вы обьяснить простым языком, зачем она нужна?
Давай еще я попробую. Копирует отдельный коммит (или несколько коммитов) в текущую ветку, при этом связь (типа merge) не образуется. В первую очередь нужно когда есть несколько веток (репозиториев), которые не предполагается мерджить. Например, кто-то форкнул твой проект, и вносит туда изменения. Часть изменений тебя интересует. Или если надо пофиксить баг в предыдущей версии программы. Cherry pick - это что-то типа "выбирать лучшее".
Ответить с цитированием