2012-01-22 3 views
-1

Моя предыдущая фиксация имеет изменения, которые я должен был сделать в отдельной ветке.Хотите сделать предыдущую фиксацию в отдельную ветку

>git log 


commit b123... 

commit a123 

Commit B123 имеет файлы, которые я хочу сдвинуты в филиал, и я хочу Ствол быть еще на a123.

Возможно ли это?

Таким образом, багажник (источник/ведущий) должен быть зафиксирован a123, и все, что после этой точки должно находиться в ветке признаков.

ответ

1

Чистый путь для достижения этой цели является:

git branch featurebranch # make new branch at a123, so including b123 
git revert b123   # revert in master 

В качестве альтернативы, если у вас есть не толкнул свой master еще где-нибудь, вы можете сделать git reset --hard b123 вместо git revert.

+0

спасибо, что сейчас! Кстати, кроме gitk, какие другие встроенные визуальные инструменты поставляются с git? – Blankman

+0

@Blankman: 'git gui'. –

+0

есть ли gui для просмотра разных версий определенного файла? – Blankman

0
git branch somefeature 
git push origin somefeature 
git reset --hard HEAD^ 
git push origin +master # the plus makes it a force push as you will be losing history 

Это должно быть сделано. Если у вас есть части изменений, которые в этом коммите должны принадлежать одному, а не другому, посмотрите на git add -p, чтобы разделить изменения на один файл.

Смежные вопросы