gitのサブモジュール機能を使用するのは本当に不満です。私はまだそれを正しくしないか、または私がこれを期待しているようにちょうど動作しません。プロジェクトの状況が与えられ、次のとおりです。このシナリオではgit submodule mess:gitに精通していない開発者と一緒にgitサブモジュールを使用するには?
Project
| .git
| projsrc
| source (submodule)
| proj.sln
ソースは、すべて私たちのプロジェクトに共通のソースデータを含む別のリポジトリを指しています。 ソースの下でも多くの開発が行われており、projsrcもあります。残念ながらプロジェクトはソースサブモジュールのコミットを指し、実際のHEADは指していません。これは私が知っている限り、通常のgitの動作です。
私はすでに
git submodule update
だけで、メインプロジェクトと一緒にコミットされたサブモジュールのバージョンを取得することが分かりました。しかし、私は実際にサブモジュールの開発に関して常に最新のものにしたいと思っていますが、これをどうやって行うのか本当の手がかりはありません。したがって、私の質問は:
が、これは、プロジェクトのコンパイルを壊したりしません場合は、サブモジュールのHEADに実際の reagardlessをプロジェクトを取り付けることが可能です。 私はちょうどサブモジュール ディレクトリに移動し、gitプルを行っていません。私はサブディレクトリのディレクトリにある の変更を緩和できると思っています。これは に添付されている単純なものなので、実際にはブランチにはなりません。
制約以下の点を考慮してください。私たちのグループで
- 開発者は、周りのすべてのVCSとその慣れていません。私たちは以前には本当に巨大なsvnリポジトリを使用していましたが、外部repo機能はまったく使用されていませんでした。
- 私たちは、プロジェクトメンバーのほとんどは、コマンドラインインターフェイスを使用することによってかなり怖がっているので、:)
http://stackoverflow.com/questions/1979167/git-submodule-update/1979194#1979194およびhttp://stackoverflow.com/questions/3131912/も参照してください。なぜならgit-submodules-svn-externalsとの互換性がない/ 3132221#3132221 – VonC
"私はサブモジュールディレクトリで行った変更を失う可能性があります。コミットして実際には何の支店にもない "それは本当ではない!常に枝があります。あなたは頭が孤立しているときにあなたがコミットするまであなたの変更を失うことはありません。 – Vanuan