2017-01-26 5 views
0

免責事項:私はGitを理解していますが、それを直接使っている管理チーム(少数しか使用していない管理チーム)。1つのプロジェクトに対して2つのgit reposを継続的に統合しています

現行の会社に入社したときにgit repoを作成し、別のブランチを使用してdev/stage/prodにデプロイするserver deployments using git from localを行っています。これはすべて期待通りに機能しています。

私たちのクリエイティブエージェンシーは、自分よりもずっとずっと私の会社と仕事をしています(サイトのテーマ、カスタムプラグインなどを設計、開発しました)。彼らは最近、いくつかの新しい仕事を始め、彼らが独自のリポジトリを持っていることを知らせました(論理的には、歴史的な目的のためにリポジトリを保持したい)。

私の質問:自分のレポを私と統合できる方法はありますか?おそらく、自分のレポのブランチ(例えば、dev、stage、featureブランチ)に、自分のマスターブランチにコミットされたコミットを配備しますか?

このアプローチで見られる1つの欠陥は、レポの変更をレポに戻す方法です。私がそれを管理する方法はありますか?それとも、これは失われた原因ですか?

2つのレポジスをマージする参考資料をすべて検索しましたが、両方を別々に保つ方法があるかどうかを知りたいと思います。

+1

おそらく 'git submodules' http://blogs.atlassian.com/2013/03/git-submodules-workflows-tips/や'サブツリー 'https://blogs.atlassian.com/2013/05を使うことができます/ others-to-git-submodule-git-subtree/ –

+0

サブモジュールは、他のコード(サードパーティ製モジュール、コミュニティモジュール、ウェブアプリケーションのコアアップデートなど)に使用されていると思いますが、これは同じコードを対象としています。思考? – Dave

+0

私はこの創造的な会社が第三者のように扱われ、サブモジュールのニーズに合ったプラグインなどを持っていると思います。私はしばらくの間、サブモジュールを使って作業しました。私たちのCIツールはサブモジュールをチェックアウトすることができ、私たちは主なリポジトリとのデプロイのためにアーティファクトをパッケージ化することができます。 –

答えて

0

これは示唆ですが、これを実装するのはあなた次第です。それが唯一の解決策ではないかもしれません。

git repoはそのままにしておきますが、バージョンアップを依頼してください。 (v1.0、v.2.0)、おそらくgitタグを使用します。彼らの安定したほとんどのバージョン(マスターブランチであり、開発ブランチではないもの)が何であるか質問してください。

貴社のレポから安定したブランチ(企業のサーバーのどこかにクローン)へのシンボリックリンクを作成します。

大規模な変更を行うたびに、新機能のリリースとマスターブランチの更新を続けるように依頼してください。

この方法では、レポをコピーする必要はありません。あなたのレポを保つようにしてください。そして、必要に応じて、プロダクション(マスタ)と開発(開発)に切り替えることができるように、ブランチをレポに残してください。

+0

私の無知を許してください。シンボリックリンクが理解できるようにしてください。また、シンボリックリンクが会社のサーバーにある必要がある理由を理解できます。もし私がそれを理解しているなら、あなたは私にもできることを示唆している:1)私のレポのローカルコピーのためのシンボリックリンクを作成すること(私のレポの私の "代理店 - 機能ブランチ" 2)シンボリックリンクが存在する代理店に接続します(代理店のマスターを更新すると、シンボリックリンクのディレクトリに移動して、基本的に私のレポのagencys-feature-branchで編集されます)。 3)変更を展開する準備ができたら、そのブランチをマージすることができました。それはアイデアですか? – Dave

+0

また、それらのバージョンでgitタグを使用する必要があるのは、好奇心が強い理由(ベストプラクティス以外の理由?)です。 – Dave