2011-06-20 7 views
0

GITのパッチまたはプッシュ?私たちは、新しいプロジェクトでのgitで作業するための2つの方法を検討している

  1. 開発者がメンテナにパッチを送信する(おそらく開発者の一人になってしまうであろう)、彼りんごそれらの、テストおよび

  2. を統合します
  3. 開発者は、コミットをパブリックの "developers"ブランチ(プロジェクトの各サブモジュールのブランチ)にプッシュします。メンテナはプッシュに関するメール通知を受け取り、\ test \ integrateを確認できます。

最後の結果は、開発者コミットを含む最新のベースベースの分岐と同じです。

だから私の質問は良いですか?私は非オープンソースのプロジェクト開発者で小グループで使うべきですか? (自分の隣に座っている人にメールでパッチを送って奇妙な音がする)

答えて

6

プルリクエストを送信して代わりに処理するのはなぜですか?それがLinuxカーネルでやっていることです。

パブリック共有開発者ブランチの主な問題は、ブランチから離れたくないことです。公開された共有ブランチをリベースしたり、すべての時間を元に戻すことは醜いです。通常のパッチの主な問題は、SHAが同じパッチの送信者と受信者の間で合致しないことです(理由があるため)。私がパッチメールシステムを開発していたのであれば、それらのSHAを正確に得るためにgit-bundlesを使うことを考えました。これはプルを行う複雑な方法であることに注意してください。

もう1つの方法は、誰かが共有ブランチをコミットすることを許可するかどうかを強制するためにgitoliteを使用し、開発者に "feature"ブランチ(http://nvie.com/posts/a-successful-git-branching-model/と関連するgitflowコマンドを参照)フィーチャーブランチからdev/masterブランチにマージしてください。

gerritや他のgitコードレビューワークフローを調べることもできます。

0

正しい方法はフォークです。つまり、開発者はリポジトリをクローンし、作業を行い、作業が終わった後、プロジェクト管理者に連絡して、新しいブランチを外部リポジトリから引き出すことができます。

Githubはこれを既にUIでサポートしています。

+3

すべての 'git clone'操作はフォークです。 githubの利点は、インフラストラクチャの自動化を支援することです。 –

関連する問題