2017-06-22 12 views
6

私がコードを書くとき、私はそれを簡単で素早く見直すことができる小さな論理的な変更に分割します。git rebaseで壊れているGitHubプルリクエストのコミット順を修正するには?

これを行うには、git rebase -i(対話型)を使用して、スカッシュ、ドロップ、およびコミットの順序を変更します。

これはGitHubのプルリクエストで異なる順序でコミットすることがあることに気付きました(ただし、リモートブランチでの注文は保持されます)。

  • は3
  • をコミットします。たとえば

    • は1
    • として2
    • がPRに表示される場合があります

    3をコミットコミットコミットc OMMIT 1

  • は、私はインターネットを検索し、これだけGitHubのヘルプページを見つけることができた2

コミット:Why are my commits in the wrong order?彼らの答え:

をあなたはgitのリベースかを経由して、あなたのコミットの歴史を書き換えた場合あなたが プルリクエストを開くときにあなたのコミットシーケンスが異常であることに気付くことがあります。

GitHubは、ディスカッションのスペースとしてプルリクエストを強調します。すべての側面 - コメント、参考文献、およびコミット - は、 年代順に表されています。 Gitのコミット履歴を書き直すとwhile performing rebasesは空時の連続体を変更します。つまり、 を意味します。これは、GitHubインタフェースの でコミットが期待通りに表現されない可能性があります。

コミットを常に確認したい場合は、 git rebaseを使用しないことをおすすめします。しかし、あなたが何時も壊れていないことを安心しておいてください。 年代順以外のものを見る!

これを回避する方法はありますか?私はでこの問題を回避するために管理してきました

+0

あなたはかなり良い情報源に達したと思います。私はgithubのスタッフがgithubについてかなり知っていると思うし、もっと知っている人を見つけるのは難しいでしょう。したがって、[github help](https://help.github.com/articles/why-are-my-commits-in-the-wrong-order/)が、順番にコミットを見る唯一の方法は、 'git rebase'を使ってください**おそらく**他のworkarround **はありません。 –

+1

@ running.t私の答えを見てください。 :) – Eliad

+1

「GitHubは、私の経験から、プルリクエストを議論の場として強調しています」というコミットページには同じ問題があります。すべてのコミットは作成時間順に並べ替えられます。 このため、マージされたコミットは、 "元の"(コミット前の)コミットツリー内で混在します – eplaut

答えて

4

  1. 最後は順番
  2. 実行git rebase -i <hash of that commit>
  3. が実行git push -freword
をすべて pickを交換して保持していることをコミット探し

これまでは、次のハッシュをすべて変更する最初のコミットメッセージですが、修正されませんでした。

私はコミットするたびにコミットする必要がありました。

関連する問題