5

私は Git に移行したいと考えている SVN ユーザーです。一日中ドキュメントとチュートリアルを読んでいますが、まだ答えのない質問があります。このワークフローが理にかなっているのかどうかはわかりませんが、私の状況とワークフローから得たいことは次のとおりです。

  • 複数の開発者、全員がワークステーションでローカルに開発中
  • Web サイトの 3 つのバージョン: Dev、Staging、Production

これが私の夢です:

開発者は自分のブランチ (たとえば "developer1") でローカルに作業し、ローカル マシンでテストし、変更をコミットします。

別の開発者は、これらの変更を自分のブランチにプルダウンできます。developer1 -> developer2 をマージします。

作品が一般に公開される準備ができたら、開発、ステージング、または本番に「プッシュ」できるようにしたいと考えています。

git push origin staging 

または多分

git merge developer1 staging

わからない。私が言ったように、私はまだ Git に不慣れです。

ここに私の主な質問があります:

  • 私の Web サイト (開発、ステージング、本番) はリポジトリである必要がありますか? そして、新しい変更の受信者になるために、それらは「むき出し」である必要がありますか?

  • 複数のブランチを持つリポジトリが 1 つ必要ですか、それとも複数必要ですか?

  • これは理にかなっていますか、それとも私は間違った道を進んでいますか?

私はたくさんのチュートリアルを読んだので、誰かが私の特定の状況で私を助けてくれることを本当に望んでいます. 本当にありがとう!

4

3 に答える 3

3

私が読むことをお勧めする記事は、成功したGit分岐モデルです。それはあなたが説明する状況に加えていくつかに対処します。

于 2011-02-03T23:03:36.993 に答える
0

分散性について覚えておいてください。Subversion とは異なり、開発者のチェックアウトは、単なる作業コピーではなく、独自の独立したリポジトリです。通常のワークフローでは、変更を独自のリポジトリにコミットし、個人用ブランチを作成および操作します。これgit pushを使用して、ローカル ブランチから「メイン」のオリジン リポジトリ (おそらく Web ホスティングにある) にコミットを転送できます。したがって、各開発者は、自分が望むブランチのセットを含むローカルの個人リポジトリを持ちます。origin リポジトリには、前述の 3 つのブランチがあります。開発者は時々git pull、オリジン リポジトリから (何らかのローカル ブランチで)git push作業し、自分の作業をオリジン リポジトリの適切なブランチで行います。

于 2011-02-03T23:23:21.803 に答える
0

@Greg が示唆したように、nvie による成功した Git 分岐モデルに従うことは素晴らしいアイデアです。そこから、ウェブサイトで git を使用する方法について読んで、分岐モデルを念頭に置いてそれを実装することをお勧めします。

要するに:

  • T への git 分岐モデルに従ってください
  • 2 番目の記事で提案されている方法で、git がリリース ブランチをステージング サーバーにプッシュできるようにシステムをセットアップします。
  • 同じステージング サーバーのセットアップに従って、マスター ブランチを本番サーバーにプッシュするように git をセットアップします。
于 2011-11-20T08:26:05.743 に答える