7

さまざまなサイトを管理する会社の Web 開発職を引き継いだばかりです。いくつかの異なるサイト「デザイン」があり、各デザインには、同じものの型抜き型のバージョンがいくつかあります。それらは異なるサイトですが、フレームワークは非常に似ているため、コンテンツと一部のスタイルが変更されているだけなので、前の人はこれらを特定のホストにコピーして貼り付けていました.

私の質問は、Git がこれに適しているかどうかです。私は自分のサイド プロジェクトで git を少し使用しましたが、この仕事のために数百のサイト (設計ごとに約 10) について話しています。枝の束は良い方法でしょうか?主に、共通ファイルをすばやく簡単に更新できるようにしたいと考えています。以前の人は、グローバルな変更を行ったときに、perl スクリプトを使用してサイトを「更新」するように転送していました。gitを使用すると、はるかに確実で制御(バージョン制御)されるようです。

Subversion は私の別の考えでしたが、すべてのサーバーにそれをインストールするアクセス権がありません。ほとんどのファイルは ftp 経由で転送されますが、いくつかの仕上げを行えば、ssh (おそらく sshfs 用のヒューズを使用してセットアップするでしょう) も同様に動作する可能性があります。

何かご意見は?または、私がこれについて完全に間違っている場合は、私にも知らせてください. 私はこれまでこのサイズ (つまり、多数のサイト) を扱ったことはありませんでした。もっと良い方法があることを知っています!

ありがとう!

4

2 に答える 2

6

git サブモジュールは、次のような他のリポジトリを追跡するための優れた方法です。

  • 共通ファイル用の 1 つ
  • 1 つは特定のファイル用です。

これは、各 Web サイトが、上記の 2 つのサブモジュールを含む「親」レポであることを意味します。

秘訣は、特に共通ファイルを表すサブモジュールの場合、Web サイトで「ブランチの最新のコミットに従う」と宣言することです。

git submodule add -b master common url/to/common/files/repo

そうすれば、これらの Web サイト リポジトリのいずれかで作業する必要があるたびに、最初に行う必要があるのは次のことだけです。

git submodule update --remote

また、最新の共通ファイルを確実に操作できます。

于 2013-10-13T15:10:28.577 に答える
4
  1. 開発とデプロイを別々のタスクに分けます (すべてのプロダクションにリポジトリ/または単に WC/ を持つ必要はありません)
  2. 適切な分岐マージを備えた SCM はすべて機能します
  3. すべてのサイト (フレームワーク) の共通部分は、最終製品にリンクされた (SCM 固有の方法 - サブモジュール、外部を使用して) 1 つのエンティティに分離できます (または、少なくともそれを試みることができます)。
于 2012-10-24T20:59:43.200 に答える