312
develop branch
--> dashboard (working branch)

git merge --no-ff developアップストリームの変更をダッシュ​​ボードにマージするために使用します

git ログ:

commit 88113a64a21bf8a51409ee2a1321442fd08db705
Merge: 981bc20 888a557
Author: XXXX <>
Date:   Mon Jul 30 08:16:46 2012 -0500

    Merge branch 'develop' into dashboard

commit 888a5572428a372f15a52106b8d74ff910493f01
Author: root <root@magneto.giveforward.com>
Date:   Sun Jul 29 10:49:21 2012 -0500

    fixed end date edit display to have leading 0

commit 167ad941726c876349bfa445873bdcd475eb8cd8
Author: XXXX <>
Date:   Sun Jul 29 09:13:24 2012 -0500

マージには約 50 件以上のコミットがありました。ダッシュボードがマージ前の状態に戻るように、マージを元に戻す方法を考えています。

これの 2 番目の部分は、 とマージ--no-ffしないと、コミット ' Merge branch 'develop' into dashboard ' が得られないということです..どうすればそのマージを元に戻すことができますか?

4

5 に答える 5

443

マージ コミットの取り消しについては、他の質問で徹底的に説明されています。説明した2番目の早送りマージを行うgit resetと、前の状態に戻るために使用できます。

git reset --hard <commit_before_merge>

、 、または<commit_before_merge>で見つけることができます。モクシーを感じている場合 (そして他に何もしていない場合):git refloggit loggit reset --hard HEAD@{1}

于 2012-07-30T13:32:27.917 に答える
46

でマージコミットをリセットするだけgit reset --hard HEAD^です。

--no-ff を使用すると、その間に何もコミットしていなくても、git は常にマージを作成します。--no-ff がないと、git は単に早送りを行います。つまり、ブランチの HEAD は、マージされたブランチの HEAD に設定されます。これを解決するには、元に戻したい commit-id と を見つけますgit reset --hard $COMMITID

于 2012-07-30T13:30:47.463 に答える