2017-12-02 12 views
1

ローカルのマスターブランチに2つのコミットを作成しました。そして、私はそれらがマスターになることを望んでいません。だから私はmasterから別のブランチに分岐してgit checkout -b new-branchというコマンドを出し、このブランチをgithubにプッシュしました。その後、これらの2つのコミットは、new-branchmasterの両方のブランチに存在します。これら2つのコミットをmasterから削除するにはどうすればよいですか?new-branchのままにしておきますか?あなたはまだそれらのコミットをプッシュしていない場合はgitコミットをmasterブランチから削除するが、他のブランチに保持する方法は?

答えて

1

、あなたのブランチをcreatiing後にマスターをリセットする必要があります。masterブランチからの最後の二つのコミットを削除します

git checkout master 
git reset --hard @~2 

これらのコミットが最後の2つでない場合は、削除したい最も古いコミットの参照(SHA1 'X')を探して、対話型のリベースを行う必要があります。

git checkout master 
git rebase X~ 

マスターブランチから2つのコミットを削除できます。
しかし、あなたは新しいマスターヘッドにそのベースを変更するために、新しく作成したブランチをリベースする必要がある場合があります:

git checkout new-branch 
git rebase --onto master new-branch~2 new-branch 

すでにプッシュしている場合は、マスターが、あなたは一人でそのレポに取り組んでいる、あなたがすることもできますそのアプローチを検討してください(git push --forceあなたのマスターブランチ)

関連する問題