3

ローカル リポジトリでいくつかのコミットを行い、それらをオンライン リポジトリにもプッシュしました。

それから、コミットが多すぎることに気づき、それらを少しにまとめたいと思いました。からsecond last oneが望ましいfirst one。つまり、現在のコミットを維持し、他のすべてのコミットを押しつぶします。

私がする時

 git rebase -i origin/branch_name

ウィンドウがnoopポップアップします。何も表示されませんpick。私は何をすべきか ?

4

2 に答える 2

4

私がnoopメッセージを受け取ったとき、それは通常、引数で使用されているgit rebase -iブランチがチェックアウトされたブランチよりも先にあることを意味します。

git log A..B
# prints the commits between A's head and B's head

git log B..A
# prints nothing

git status
# On branch A

git rebase -i B
# got 'noop' because there are no commits in the log above

この場合、影響を受ける 2 つのブランチを交換すると役立ちます。

git checkout B
git rebase -i A
于 2014-01-16T12:02:33.217 に答える
0

rebase コマンドの引数は、スカッシュするコミットの範囲です。あなたの場合、おそらく次のようなものです:

git rebase -i <sha-1 for first commit>..HEAD^

(HEAD^ はブランチのヘッドへの親コミットです)。

pick次に、インタラクティブ スクリプトのコマンドを次のように置き換えます。squash

于 2013-09-06T08:43:15.437 に答える