2017-02-02 3 views
-1

У меня есть много фиксаций в моей отрасли:Revert назад и сделать копию филиала в мерзавце

commit 1 
commit 2 
commit 3 
commit 4 

Я на совершение 4, и теперь хочу пойти совершить 2 и копировать содержимое, которые были в передать 2 в другую ветку.

В принципе, я хочу наложить изменения на commit 2 на сервер, а не изменения, которые были сделаны при фиксации 4, используя эту другую ветку.

+0

Вы хотите вишни забрать совершить 2 на а отдельная ветка? – osowskit

+0

Да. Но проблема в том, что я переместил эти коммиты в родительскую ветку. – learner

+0

1) Вы можете вернуть фиксации 1,2 и 4; 2) переместите текущий указатель направления назад на несколько коммитов, фиксацию вишни-фиксации 2 и принудительное нажатие; или 3) попробуйте воспользоваться некоторой интерактивной магией восстановления. – osowskit

ответ

0

Вы хотите создать mynewbranch, который указывает 2 фиксаций позади:

git branch mynewbranch HEAD~2 

Вместо этого, вы можете даже подталкивать без создания местного отделения:

git push origin HEAD~2:refs/heads/mynewbranch 
+0

Он копирует текущие изменения , а не предыдущие изменения. Например, если я добавил некоторые файлы в commit 4, приведенная выше команда также даст эти изменения. – learner

+0

'git branch mynewbranch HEAD ~ 2' создает новую ветку' mynewbranch', которая указывает на 2 фиксации позади. – rom1v

+0

Позвольте мне переписать мои проблемы: у меня есть ветка A, я совершил четыре раза и толкнул ее. Теперь я хочу скопировать содержимое второй фиксации в другую ветку. Ваш ответ не работает. – learner

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