0

バックグラウンド:

1) 私たちは、Git と Github を初めて試す 6 人の初心者のチームです。

2) Github にレポを作成し、全員でクローンを作成しました。

3) 次に、それぞれ独自のローカル機能ブランチを作成し、最初の機能の作業を開始しました。

4)これで、2 つの永続的なブランチ (「マスター」と「開発」) と、「開発」から派生する任意の数の機能ブランチを使用するワークフローを発見しました (そして、それらが完了したらそこに戻ります)。

質問:

A) Github とチームのリポジトリを現在の状態 (「マスター」) から私たちが望むもの (「マスター」と「開発」) にするための最良の方法は何ですか?

B) チームの各メンバーはどの追跡を設定する必要がありますか? つまり、たとえば機能ブランチを頻繁にリベースできるように、Github の「開発」を最新の状態に保つことに関心があります。

これが「ばかげた」質問である場合は、ありがとうございます。答えが目の前にあるように感じますが、自信がなく、経験豊富な Git ユーザー、理想的には私が取り組んでいるものと同様のワークフローを使用する人に助けてもらいたいです。ありがとう。

4

1 に答える 1

1

複数の開発者が git を使用してプロジェクトを管理する方法を美しく説明しているこの記事を読んでください。この記事の要約は、次の図で表すことができると思います。

git ワークフロー
(ソース: nvie.com )

A) Github とチームのリポジトリを現在の状態 (「マスター」) から私たちが望むもの (「マスター」と「開発」) にするための最良の方法は何ですか?

これは非常に簡単です。現在のブランチは、上の画像masterのブランチと同等です。developしたがって、ブランチから分岐し、開発develop者に.master

B) チームの各メンバーはどの追跡を設定する必要がありますか? つまり、たとえば機能ブランチを頻繁にリベースできるように、Github の「開発」を最新の状態に保つことに関心があります。

したがって、developブランチに関する限り、以前に脅威を与えたのと同じ方法で脅威を与えmasterます。ほとんど違いはありません。今、masterブランチは何か特別なものになるでしょう。常に安定していて、他の人がダウンロードできるようになっている必要があります。結果として、master信頼できる数の人だけにプッシュの許可を与える必要があります (gitそれがあなたに当てはまるかどうかはわかりませんが、単に人々に伝えて、彼らが従うことを願うだけです)。マスターにプッシュできる人は、masterブランチの変更に責任を負います。

開発者は引き続き でそれらを発行hotfixesしてマージすることができますdevelopが、特権を持つ人がそれらを でマージできるようにする必要があることに注意してくださいmaster

releaseブランチは、master.

少なくとも権限を強制する 1 つの方法はmaster、開発者が「プル リクエスト」を発行でき、権限を持つリポジトリがプルを受け入れることができる、別のリポジトリを用意することです。これは実際に Linux カーネルがどのように管理されているかです。Linux カーネルには、masterLinus 自身が管理するリポジトリがあります。彼の副官によって維持されているいくつかのdevelopブランチがあり、彼らは時々彼に「プルリクエスト」を送ります.

于 2012-10-15T13:17:25.863 に答える