2016-10-13 9 views
0

小さなコードの変更を行い、developブランチ(リリースが作成されるとmasterが更新されます)にプッシュしています。とにかく、変更をdevelopブランチにマージすると、GitHubで "Merge pull request"を使用して、git logを開発すると2つのコミットが表示されます。ここに私がしていることの典型的な歴史があります。開発から各マージのログに2つのコミットが表示される

  1. git checkout -b mylocalbranch develop
  2. addcommitgit push --set-upstream origin mylocalbranch
  3. はGitHubの上で私のPRを作成してください、私の新しいブランチに私の変更を行い(ステップ1-3昨日でした)
  4. すると、すべてのGitHubのPR上の "Merge pull request"ボタンをクリックして、ブランチを削除します。これもまたGithubを介して行われます(今度はこのステップでした)。しかし

私はdevelopを更新しgit logをすれば、今、私は次のようなものを参照してください。

commit b195f327fb7b80ebhfye5b6d17af6686tgs6dc79 
Merge: d4c3f43 mwi6h80 
Author: Meanwhile InHell <[email protected]> 
Date: Thu Oct 13 10:05:05 2016 +0100 

    Merge pull request #666 from MWIH/mylocalbranch 

    Updates to stuff that needed updated 

commit mwi6h80664f09b95b8ce9xd3624435337259g47o 
Author: Meanwhile InHell <[email protected]> 
Date: Wed Oct 12 16:54:05 2016 +0100 

    Updates to stuff that needed updated 

私は最初の(非マージ1をコミットしている理由を私は理解していません)がdevelopブランチに表示されます。ブランチ作成の最後に「develop」と表示されている気がします。 git checkout -b mylocalbranch develop

+1

[Gitのマージコミットの削除](http://stackoverflow.com/questions/30561895/removing-merge-commits-in-git)またはhttp://stackoverflow.com/questions/16326381/is -the-way-to-hide-merge-github-when-comparison-branches – PeeHaa

+0

あなたがリンクしたこれらのチケットがあるので、これらのコミットを削除するつもりはない、それらが作成された理由を知りたい最初は私の会社の他の人たちがこの問題を抱えていないからです。 – MeanwhileInHell

+0

私はあなたがその場合に求めていることを理解していません。 – PeeHaa

答えて

3

複数のコミットを行うと、それらのコミットが開発ブランチに統合されているので、すべてのコミットが表示されます。

マージ自体も1つのコミットとしてカウントされるため、ブランチがどの時点でマージされたかを確認できます。

他に何か不思議なことがない限り、それ以上のことはありません。

+1

マージコミットは、どのブランチのどのヘッドが接続されているかを示すコミットです。マージコマンドは常に1つの追加コミットを導入します。マージ後に変更を元に戻すことが可能になるのは、外部ブランチからすべてではなく単一のコミットだけを元に戻すことです。余分な1つのコミットを避けるにはrebaseコマンドを使用できます。 – gauee

関連する問題