2016-06-20 4 views
0

同僚がgitマージしました。我々はGithubを使用する。最後のコミットを行った開発者は誰にしか見えません。マージを行った人を特定する方法はありますか?マージしたユーザーを特定する

+1

マージがコミットされました。おそらくコミットした人がマージしたのでしょうか? –

+1

早送りマージのようですね。 1つでは、すべてが完全にマージできるので、マージコミットはありません。 – Makoto

+1

作成をコミットしましたか? – ThiepLV

答えて

0

マージするための2つの異なるシナリオがあります。で

Commit 1 
|  \ 
|  Commit 2 by Susie, merged to master 
|        \ 
Commit 3 by Bobby on branch | 
|       /
Commit 4 by Bobby: Merged to master 

:スージーは、彼女自身のいくつかの変更をプッシュする前に

を最初のシナリオでは、ボビーは1をコミットに基づいていくつかの変更をしたが、ありませんこのシナリオでは、Bobbyがcommit 3をmasterにマージしようとすると、gitは変更が線形ではないので、マージコミットが必要であると判断しました。このコミットはBobbyの名前で自動的に作成されるので、彼がこれをしたことは非常に明白です。

2つ目のシナリオでは、早送りです:

Commit 1 - Head of Master 
|  | 
|  Commit 2 by Bobby on branch 
|  | 
|  Commit 3 by Bobby on branch 
| /
Merge to master: since Bobby's base commit is still the head, fast-forward is used: 

Commit 1 
| 
Commit 2 - Bobby 
| 
Commit 3 - Bobby 

早送りはツリーが線形を見せる、ボビーのブランチのコミットのすべてのは、彼らがマスター上で直接行われたかのように見えるように作られています。このビューはよりクリーンですが、Bobbyの名前とのマージコミットはありません。しかし、特定の変更を探している場合、Bobby氏の名前はまだコミットされています。

デベロッパーが0コミットマージを実行したため、gitが自動的に何もしなかったり、マージコミットを生成しない早送り(0コミット)を使用した可能性があります。

一般的なgitソリューションでは、マージが常にツリーに表示されるように、早送り機能を無効にすることがあります(this SO answer will tell you what you need)。これにより、少し醜い見た目の歴史を犠牲にして、あらゆるマージが見えるようになります。また

、あなたは私がそのような要求の歴史だけでなく、コードレビューのための便利なツール(あなたは右、お互いのコードを見直しているが維持信じるFork reposする能力を持っているし、その後pull requestsを設定GitHubのを、使用しているので、 ?)とマージする。あなたがする必要があるのは、gitのワークフローと手順を調整してそれを活用することだけです。

関連する問題