2016-08-01 10 views
1

私は3つのフォルダ(それぞれgit repo)を持っています。例えば、DevUATPrototypeです。 Devブランチをマスターにして、それらのリポジトリーがブランチとして表示されるようにします。私のリポジトリのブランチとして2つの他のgitリポジトリを追加するにはどうしたらいいですか?

これまでのところ、各フォルダ(gitを内部で)にリモートをリンクして、何とか--unrelatedタグとマージすることを考えていました。私は3つの支店でこれをどうやって行うのですか?私は試みたが、誰も働かなかった。明確にするために

私はDevフォルダにgit branchを行うときに、私はブランチとしてapppearするmasterPrototypeUATを見たいと思っています。前もって感謝します!

+0

説明しているのは 'git submodule'です –

答えて

0

を使用したバージョンでのリリースにタグを付けることができます

cd <Dev Path> 

git remote add UATremote <Path to UAT Folder Repo> 
git fetch UATremote 
git checkout -b UAT UATremote/master 

git remote add PROTOremote <Path to ProtoType Folder Repo> 
git fetch PROTOremote 
git checkout -b Prototype PROTOremote/master 

そして、必要に応じてリモコンをクリーンアップ:

git remote rm UATremote 
git remote rm PROTOremote 
+0

はい、これはまさに私がやりたいことです。私が 'git checkout -b UAT HEAD'をしたら、それは悪いですか?私は彼らのそれぞれのために頭をした、私はこれが間違っていた場所だと思う。 – HiWorld

+0

それはあなたが達成したいことに依存しています。 'git checkout -b UAT HEAD'を実行すると、新しいブランチが作成され、現在のローカルHEADがポイントされている場所でコードを使用してチェックアウトされます。代わりに、私はあなたが他のgitリポジトリのコードを使って新しいブランチをしたいと思っていますか? 'Dev'フォルダにマスターブランチを使ってこれを行うことができます。私は: 'git checkout -b NewBranch myRemote/master' – nightherb

+0

また、' git branch -d UAT'を実行して、先に作成したブランチを削除することができます。 – nightherb

0

あなたは、単に新しいリモート

git remote add remote2 <url> 

を追加して、今、あなたはどのリポジトリに遠隔与えられた任意の分岐フォームをチェックアウトすることができます。

+0

チェックアウトはどのように行いますか?単に 'git checkout remote2'ですか? – HiWorld

+0

はい。あなたは同じ名前を持っている場合は、リモート名を使用して試してみると、すぐにそれを取得します – CodeWizard

1

サブモジュールは基本的な答えですが、私はあなたが間違った方法でツールをひねりようとしていると思っているので、そうしないことをお勧めします。

あなたはさまざまな環境を望んでいますが、私が仕事しているものをはじめ、私が知っているすべてのものを含むほとんどのお店に共通しています。

マスターブランチとリポジトリが1つあることをお勧めします。

あなたは、異なるバージョンをリリースするとき、あなたがあなたの既存ののDev Gitのレポに支店などの他のリポジトリを追加したい場合は、次の操作を行うことができ、共通のバージョン管理システム

+0

私は会社のワークフローを変更することはできません。 – HiWorld

+0

ああ、あなたの会社が間違ったことをしていて、多くの無駄を生み出していると感じたら、それを変更するために貢献するべきです。パッケージが一度構築され、各環境に配備される配備ツールを自由に見てください。それはより良い持続可能な慣行です。 – Philippe

+0

はい、会社のワークフローを変更することはできません。あなたができることは、事件を起こすことです。 2分の会話ではなく、「質と基本的な技術原則を信じています」権限を持つ人々とプライベート1対1でこれを行います。同時に、新しい仕事を狂って見て、あなたの現在の仕事/新しい仕事で探していることをなぜ残したいのかと尋ねられたときと同じ理由を使用してください。あなたの態度は専門店で尊重されます。 –

0

I Bあなたはsubmodulesの使用を記述しています。別のリポジトリ内にリポジトリを保持したい場合は、シナリオでそれらを使用します。このような要件は、プロジェクトに使用するライブラリやAPiをすべてのコントリビュータで更新したままにしたい場合に発生する可能性があります。あなたはGitHubのか、何からつかむURLである場合

git submodule add <url> 

を使用し、あなたの現在のリポジトリにsubmoduleを追加するために

submodulesを覚えて単にワークフローが適用され...サブモジュールで作業する場合、あなたが正常にbash

で非常に重要な

を行いたいようにそれにナビゲートする必要がレポ以内にあなたのレポで作業を開始するにはとてもレポジトリされていますあなたをブランチで自動的に開始しないでください。これは手動で行う必要がありますので、submoduleの作業の前にgit checkout masterを実行することを忘れないようにしてください。

+0

これは非常に興味深いです。 – HiWorld

関連する問題