GitHubでプルリクエストを行いました。現在、リポジトリの所有者は、すべてのコミットを1つにまとめるように言っています。
git rebase -i
と入力すると、次の内容のメモ帳が開きます。
noop
# Rebase 0b13622..0b13622 onto 0b13622
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using Shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
Googleで検索しましたが、これを行う方法がわかりません。
このソリューションを探している他の誰かを助けるための単純な追加です。スカッシュする以前のコミットの数を渡すことができます。例えば、
git rebase -i HEAD~3
これにより、エディターで最後の3つのコミットが表示されます。
わかった...最初にgit rebase -i xxxxxxxxxxxxxxxx
ここで、xxxxxxxxxxは、SHA私がスカッシュするまでのコミットです。その後、メモ帳で、最初をピックとして、残りをすべてスカッシュとして編集します。新しいノートパッドウィンドウが表示されます。そして、最初の行に新しいコミットの名前を入力した後、強制プッシュを実行する必要がありました。
git Push --force Origin master
2016年4月1日現在 、リポジトリのマネージャーは、プルリクエストで[Squash and merge]を選択することで、プルリクエストのすべてのコミットを1つのコミットにまとめることができます。
プルリクエストでコミットを手動で無効にする場合は、 fontno's answer を参照してください。
git rebase -i
、およびスカッシュするすべてのコミットに「スカッシュ」を使用します。
編集:
git rebase -i
は、リベースするコミットのリストを含むインタラクティブなエディターを表示します。各コミットの前のデフォルトのコマンドは「pick」であるため、スカッシュするすべてのコミットに対してs/pick/squash /するだけで、すべてのコミットが最後の前回のコミットにスカッシュされます。
正しいブランチに基づいていることを確認してください。