貢献者にgithubでプルリクエストのリベースを依頼するのは正しいですか?


25

私は比較的人気のあるgithubリポジトリを維持しています。

プルリクエストがマージに適している場合、通常、マージする前に作成者に単一のコミットにリベースするように依頼します(特に複数の小さな編集がある場合)。

これは良いGitプラクティスですか?これは許容できる/標準のGitHubエチケットですか?

いくつかの利点:

  • コミットログにきれいなコミット履歴があります
  • 自分でコミットを変更する必要はありません
  • 作業の一部を委任します

考えられる欠点:

  • これが良いエチケットかどうかわかりません
  • これが良いGitプラクティスかどうかわかりません
  • 私は通常、すでにいくつかの他の変更を求めています-これはもう1つであり、貢献者を落胆させたくありません。

1
この方法でプロセスを実行する際に見られるいくつかの利点と欠点を説明できますか?
アレックスファインマン14年

1
考慮に値するいくつかの追加の利点と欠点。良い:コミットごとにビルド可能な状態または完全な状態が生成されると、git-bisectおよびその他の反転が容易になり、このアプローチはそれを保証する簡単な方法です。bad:単純なコミットメッセージによる小さな変更がメガコミットにロールバックされます。たとえば、「この1行を変更してコーナーケースをまあまあ修正する」は、「機能fooの追加、変更の大きなリスト」に組み込まれる可能性があります。これにより、特定の変更の理由を見つけるのが少し難しくなります。
ガンクロ14年

1
標準の設定に問題はありません。予想されることを前もって明確にしてください。例:symfony.com/doc/current/contributing/code/patches.html下にスクロールしてステップ3:パッチを送信します
Cerad 2014年

6
@Granko:「リベース」と「単一コミットへのリベース」は2つの別個の問題です。
マシューシャーリー14年

2
貢献者がこれを行うように求められた場合、プルリクエストのブランチをgit push -f?で上書きする必要がありますか?
フリム

回答:


16

Gitに関する限り、単純にブランチをマージするか、マージするブランチの最新バージョンでコミットをリベースするかは、神聖な戦争のようなものです。Programmers.SEでクイック検索を行うとどちらの方がよいかについての会話がたくさんあります。

その背後にあるエチケットについては、実用的な観点からこれに対処しましょう。他の人からの新しいコードを扱うときは、ブランチからの最新の変更をマージするか、マージする前に新たにリベースしてクリーンマージを確実にすることが常に最善です。彼らは通常、マージ/リベースの競合に対処するのに最も適格であるようにコードを作成したことを忘れないでください。私は個人的にそれに関する問題を見ません、そして、他の人々からこの要求をいつも見ます。私にとっては、競合がなければ、gitが適用できる2秒の更新なので、頻繁に自分でやるだけです。ただし、競合がある場合は、コードの元の作成者に常に対処するよう依頼します。

また、GitHub(少なくとも)の場合、具体的には、CONTRIBUTINGPRの試行の上にファイルへのリンクが表示されるため、期待の概要を説明するのに適した場所になり、多くのプロジェクトには最新のブランチのみをマージすることが含まれます。


議論にプラグマティズムを取り入れた+1。はい、それが全体のポイントです。特に特定の数のコミットが関係している場合、大きなプルリクエストの複雑な競合を解決するのは非常に困難です。それが、元の作者にチャイムを鳴らすように頼むべきポイントです。簡単な衝突は問題ではなく、決してなかったし、そうなることもありません。
JensG 14年

1
コメントだけでなく、実際に回答を提供した+1
パブロジム14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.