0

したがって、レポの構造は次のようになります。

   --project - master
   --project - beta
   --project - dev1.0
   --project - dev1.1
   --project - dev1.2

現在git branch、私はこれを行っており、どちらでも問題ありません.1.2から始まるプロジェクト参照を追加し、それdev1.2をマスターに完全に「マージ」したい(またはその逆のほうが良い)問題は、この本に、私はこれを十分に理解していないと思います。

dev1.2 ブランチで、次のことを実行できますか。

git add submodule --link-- nameそしてgit commit -a -m "some message"git checkout dev1.1そしてgit cherry-pick #commit where I added the reference project最後にgit submodule udpate??

これは本質的に次のようになります: dev 1.2 で新しい参照を追加し、それをコミットします - 参照を追加します - 参照がない場所で 1.1 に切り替えます。コミットをチェリーピックして参照を追加し、サブモジュールを更新して両方の 1.2 で参照を持つようにします。そして1.1 ..

4

1 に答える 1

0

サブモジュールの管理は、非常に面倒で速くなる可能性があります。代わりに使用することをお勧めしgit-repoます。Android のニーズを満たすために Android オープン ソース プロジェクトによって作成されましたが、どのプロジェクトでも使用できる非常に一般的なメカニズムです。git サブモジュールに比べてはるかに用途が広く、非常にうまく統合されますgerrit code review(ただし、これはオプションです)。

git-repo では、「コミット sha による追跡」モデル (git サブモジュールと同等) または「ブランチ名による追跡」モデル (git サブモジュールでは不可能) の両方、またはそれらの任意の組み合わせを使用できます。

repo の欠点は 1 つだけです。Windows を明示的にサポートしていません (ただし、Linux、Mac、およびほとんどの POSIX システムでうまく機能します)。Windows で動作しなかった本来の理由は、シンボリック リンクを多用するためでしたが、Windows XP ではサポートされていません。Windows 7+ はシンボリック リンクをサポートしているため、Windows で動作するように修正することは可能git-repoですが、残念ながらまだ誰もそうしていません。

于 2013-09-17T08:26:17.937 に答える