2017-03-22 6 views
0

一般的に、私は複数のアーチは、そのlibのためのビルド間でのサードパーティのlibに私の変更を同期する方法を把握しようとしています。Git:サードパーティのリモートとの単一レポの複数の作業コピーを管理する最良の方法は?

具体的には、私は私のアプリのために構築し、それぞれのlibアーキテクチャのために、(qt.io上のリモートでのように)1をメインQtのGitのレポの4つのクローンを管理しています。たとえば、iOS、iPhoneSimulator、macOS、Windows、開発用に1つのデバッグビルド用に別々のQtリリースビルドを用意しています。

問題は、Qtソースコードを変更していて、qt.ioのメインQtリポジトリにプッシュできる間に、これらの変更をすべての作業コピーにわたって同期してテストしたいということです。私はgitのでこれを設定するにはどうすればよい

?私は自分の裸のレポをセカンドリモートとしてセットアップする必要がありますか?これはどのように作動しますか?

ありがとうございます!

+1

これを行うには多くの方法があります。単純なケースでは、Gitが十分に新しいものであれば、 'git worktree add'が好きです。あなたのケースはもっと複雑かもしれません。裸のリポジトリが必要かどうかは、あなた次第です。ラップトップで作業するにはどこかでgit pullを実行し、次にラップトップからgit pullを実行するなど、純粋なプルワークフローを使用することができます。 (私はBSDやMacOSでこれを行う) – torek

+0

面白い。私はしばらくの間gitを使用しているが、実際にこれを行う方法を学んだことはありません。あなたはステップの例でより多くのステップを与えたり、1つのステップにリンクできますか?ありがとう! – patrickkidd

答えて

0

は、あなたが実際に裸のレポです/.gitにリモートを設定することにより、別の作業コピーから枝を引くことができ判明します。私は毎日何かを学ぶと思う。あなたはOS XのコピーにプルしたいコピーのiOS用とOS Xのための1つ、あなたは2つのQtがビルドを持っていると言う、そしてあなたは、iOSにコミットの枝を持っている:

cd qt-ios 
git checkout -b some-branch 
git commit -a -m "made changes" 
cd qt-osx 
git remote add qt-ios ../qt-ios/.git 
git pull qt-ios some-branch 

それだという。理論的には、あなたは他の方向に同じことをすることができます。

+0

このようなケースでは、 '../ qt-ios'だけを使うことができるはずですが、いずれの方法も問題ありません。これは裸のリポジトリではなく(裸のリポジトリには 'core.bare'が' true'に設定されています)、それはちょうど "リポジトリ"です。 *リモート*は、Gitのでは、URLのためだけの短い名前で、URLは 'sshをすることができ://'、または 'http'または' https'ベース、または 'ファイル://'、あるいは単にパス名。すべての場合において、リモートからの 'フェッチ 'は、"別のGitを呼び出す "(おそらく自分のコンピュータでスピンアップする)ことを意味し、"それと話します "。 – torek

関連する問題