2017-12-20 16 views
2

私はソフトウェアベンダーの会社で働いています。私のチームはクライアントのgitリポジトリにコードを提出する必要があり、コードを提出する前にコードレビューを行い、すべてのコメントとコード修正を行います。 親プロジェクトディレクトリを複数のgitリポジトリにポイントしたい複数のgitリポジトリを指す単一のディレクトリ

osxの同じディレクトリに2つのgitリポジトリを設定するにはどうしたらいいですか?私はgitツールとしてsourcetreeを使用しています。

+0

[git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules)が必要です。 – Arount

+0

I(と現在の回答)はこれを理解しているので、 "同じディレクトリ内の複数のリポジトリ"ではないことに注意してください。複数のリモコンに接続する1つの(ローカル)レポです。これはgitのかなり主流の使用パターンです。 "同じディレクトリに2つのgitリポジトリ"と言うと、これは2つのローカルリポジトリが作業ツリーディレクトリを共有したいことを示唆しています - あなたはかなりの努力でセットアップできるかもしれませんが、本当に良いアイデアはありません。 –

+0

答えが問題を解決するのに役立ちましたか?はいの場合は、回答としてマークすることができます。また、同様の質問をした他の人にとっても有益です。 –

答えて

3

複数のプッシュURLを1つのリモートに設定できます。

起源は、Gitプロジェクトにデフォルトのリモートです:

git remote -v 
origin [email protected]:group1/project.git (fetch) 
origin [email protected]:group1/project.git (push) 

次に、あなたのリモートにもっとプッシュURLを追加することができます。

git remote set-url --add --push origin [email protected]:test/project.git 

ここで、2つのURL(プッシュ)と1つのURL(フェッチ)を表示する必要があります。このようなもの: git remote -v 起源[email protected]:group1/project.git(フェッチ) 起源[email protected]:group1/project.git(プッシュ) 起源git @ git @ git.other.es:test/project.git(push)

このリモコンを押すと、両方のアップストリームが同時に表示されます。このリモコンからのフェッチとプルは元のレポだけから引き出されます。

また、あなたは、元のリモート(原点)を維持し、代替リモートを作成し、両方のリポジトリをプッシュするためにそれを使用することができます:

git remote add both 
git remote set-url --add --push both 
[email protected]:group_1/project.git 
git remote set-url --add --push both [email protected]:test/project.git 

そして、あなたのリモート設定は次のようになります。

git remote -v 
origin [email protected]:group1/project.git (fetch) 
origin [email protected]:group1/project.git (push) 
both [email protected]:group1/project.git (fetch) 
both [email protected]:group1/project.git (push) 
both [email protected]@git.other.es:test/project.git (push) 

そして今、さまざまな状況でどのリモートを使用するかを決めることができます。

関連する問題