0

git を使用して、作業用のローカル ブランチを作成しました。次に、作業を段階的にコミットしました。そのため、同じプル リクエストで 3 つのコミットを取得し、それらを 1 つにマージしたいと考えています。

次の手順に従えば、それを行う方法があることがわかりました。

  • git rebase -i HEAD~3

=>ブランチ内のすべてのコミットは以下のようにリストされます

pick mycommit1
pick mycommit2
pick mycommit3
  • それらを最初のものに融合するには、mycommit2 と mycommit3 のコマンドをsquash代わりに設定する必要があります。pick

しかし、私の場合、master ブランチのコミットの間に多くのコミットがあるため、これを行うことはできません。

結果として、プルリクエストでマージを行うことができるかどうかを尋ねます。

あなたのアイデアは大歓迎です。

ありがとう

4

1 に答える 1

0

fixupリベース中にコマンドを使用できます。このコマンドは同じことをsquash行いますが、最初のコミットのメッセージを保持します。例えば:

pick 123abcd
pick abc1234
pick a1b2c34

これを次のように変更できます。

pick 123abcd
f abc1234
f a1b2c34

これら 3 つのコミットを 1 つのコミットに結合し、最初のメッセージを取得します。メッセージを一度編集したい場合は、次のようにできます。

pick 123abcd
f abc1234
s a1b2c34

これは、これら 3 つのコミットが 1 つのコミットに結合され、そのコミットを編集できることを意味します。


追加のヒント: すべてをコマンドに簡単に変更するpickには、Vim のブロック選択機能を使用してすべての「ピック」を選択し、必要なコマンドに変更するだけです。

于 2013-02-20T15:00:37.773 に答える