109

現在、私の Web サイト (本番サーバー) には既に多くのコードが含まれています。そして今、プロジェクトで Git の使用を開始し、チーム用にステージング サーバーをセットアップしたいと考えています。誰でも私にアドバイスをもらえますか?

ここに私の心の絵があります:

        Production        - Production server which already have codes
            ↑             
         Staging          - New staging server, will install Trac too
         ↗↙ ↖↘          
  Developer1  Developer2  - Local development 

私の質問は、どのように始めればよいですか?

ここに私の心のいくつかのステップがあります:

  1. 運用git initサーバーで実行します (これは安全ですか?)
  2. clone本番環境からステージング サーバーへのレポ
  3. 開発者cloneは、ステージングからローカル マシンへのリポジトリ
  4. push変更の完了後にファイルをステージング サーバーに
  5. ステージングの準備が整ったら、push本番環境へ

このワークフローは理にかなっていますか、それとももっと良い方法がありますか?

1 つのファイルだけを変更したい場合はどうすればよいですか?

origin/master は、このプロセスで何か関係がありますか?? 元は誰?複数のオリジンを持つことになるのでしょうか??

また、この場合、開発者はいつ使用する必要がありbranchますか?

4

2 に答える 2

59

master ブランチは Production にのみ使用し、開発ブランチは Staging に使用することをお勧めします。各開発者は、新しい機能を追加するためにローカル ブランチを作成してから、開発ブランチとマージする必要があります。git を初めて使用する場合は、使用してみてください - http://github.com/nvie/gitflow git 分岐モデルを説明する良い図もあります - http://nvie.com/posts/a-successful-git-分岐モデル/

于 2010-10-02T04:34:15.853 に答える
19

あなたの提案は問題ないように見えますが、開発者がステージング サーバーに直接プッシュすることはできません。代わりに、インテグレーターはブランチを慎重にレビューし、それらをメイン ブランチ (または、bUg が提案する git フロー モデルを使用する場合は開発ブランチ) に組み込む必要があります。 * 同じ人がステージング サーバーにプッシュします。

*インテグレータ: 「グループ プロジェクトのインテグレータとして機能するかなり中心的な人物は、他の人が行った変更を受け取り、それらをレビューして統合し、他の人が使用できるように結果を公開します...


1. 本番サーバーで git init を実行します (これは安全ですか?)

はい、安全ですが、もちろん、このレポには非常に制限されたアクセス許可を設定する必要があります。curlまだローカル ディスクを持っていない場合は、Web サイト全体をローカル ディスクにコピーすることから始めます。

2. 本番環境からステージング サーバーにレポを複製する

おそらく、本番サーバーとステージング サーバーの両方とは別の「中央」リポジトリを用意する必要があります。これは、必要に応じて複製およびプッシュできます。

3. 開発者はステージングからローカル マシンにレポを複製します

4. 変更が完了したら、ファイルをステージング サーバーにプッシュします。

5.ステージングの準備ができたら、すべてを本番環境にプッシュします

「ステージング」を「中央」に置き換えれば問題ないと思いますが、より大きな問題は、bUg が指摘しているように、ブランチとマージをどのように処理するかです。

于 2010-10-02T12:08:36.990 に答える