web-dev-qa-db-ja.com

特定のコミットをスキップしながらリベースするにはどうすればよいですか?

他のブランチで特定の(競合する)コミットをスキップしながら、ブランチを別のブランチにリベースする方法はありますか?

たとえば、mybranchmasterにリベースしたいのですが、マスターには、マスターのコミットと競合するコミットが含まれているため、そのコミットを完全に取り消すことを好みます。

-o-o-o-o-o-x-o-o-o-o master
     |
     o-o-o-o mybranch

xは、競合するコミットを示します。

23
Phillip

インタラクティブリベースを使用する:

git rebase -i master

エディターが開き、次のようなコミットのリストが表示されます。

pick b8f7c25 Fix 1
pick 273b0bb Fix 2
pick 6aaea1b Fix 3

スキップしたいコミットを削除するだけです。ブランチをマスターにリベースしている間は省略されます。

PSエディターが表示されない場合は、この質問を参照して解決策を確認してください: Gitを使用するようにエディターを設定するにはWindowsでは?

42
Sergey K.