0

私は最近 git の使用を開始し、コードのホストにも bitbucket を使用しています。ブランチの作成、マージ、プッシュ、プルなどの基本には慣れていますが、今はよくわからない状況にあります。

基本的に、複数のプロジェクトで使用したい cms を開発しました。「cms_template」と呼ぶこのためのリポジトリがあります。

新しいプロジェクトを作成したいときはいつでも、これを新しいリポジトリにクローンするだけです。

基本的に私の質問は次のとおりです。ウェブサイト A とウェブサイト B があります。どちらも cms_template リポジトリのクローンですが、異なるウェブサイトであるため、明らかに独自の変更があります。これらの変更を cms_template リポジトリにプッシュしたくありませんが、cms_template リポジトリを更新するときに、これらの更新を各 Web サイトに「プル可能」にしたいと考えています。元の cms_template に行った更新をこれらのプロジェクトにマージするにはどうすればよいですか?

また、WebサイトAとBの両方を独自のリモートリポジトリにプッシュできるようにしたいのですが、これを行う最善の方法とcms_templateリポジトリと競合しない方法について混乱しています.

私の質問が理にかなっていることを願っています-必要に応じて喜んで明確にします.

アドバイスをお待ちしております。

4

2 に答える 2

1

依存関係の管理に Composer を使用することを検討する必要があります。そうすれば、特定のバージョンの CMS を必要とするだけで、他のプロジェクトから独立して更新できます。

また、問題があると報告されている git サブモジュールの煩わしさを回避します (私自身は慣れていないのでコメントできませんが、少し怖いので、可能であれば回避するでしょう)。

composer.jsoncomposer の使用は、phar ファイルをダウンロードし、すべてのリポジトリーにファイルを追加して、依存関係とメタデータを宣言するのと同じくらい簡単です。また、オートローダーを無料で入手でき、Composer メタデータを提供する、またはhttp://packagist.orgに登録されている他のライブラリを含めることができます(これは多くの.

詳細については、http: //getcomposer.org/を参照してください。

于 2013-10-13T19:51:21.153 に答える
0

これは、git サブモジュールの完璧なセットアップのように思えます (詳細については、 http: //git-scm.com/book/en/Git-Tools-Submodulesを参照してください) 。

編集: cms ブランチの個々の変更を master から保持し、サブモジュールを使用してそれらをプロジェクトにプルします。マスター cms ブランチをいつでも更新し、後で Web サイト a/b をリベースします。

于 2013-10-13T19:32:44.083 に答える