2016-12-06 112 views
3

私のプロジェクトでは(gitを使用しています)、まだ進行中のa libraryを使用する必要があります。私はそのライブラリのサブモジュールを作成することにしました。なぜなら、時々最新のバージョンを更新したいからです(自分で変更するつもりはありません)。サブモジュールのパスで現在の起点/マスターリビジョンを見つけることができません

は私がやった:

git submodule add https://github.com/mb21/JSONedit.git 
git commit -am 'added JSNedit submodule' 
git push -u origin master 
git pull origin master 

はその後、私はオンライン私のgitフォルダ内の私のローカルフォルダ内JSONeditフォルダ、およびリンクを参照してくださいました。私はgit submodule update --remote JSONedit/をしたときしかし、私は次のエラーを得た:

fatal: Needed a single revision 
Unable to find current origin/master revision in submodule path 'JSONedit' 

誰もがここで間違っているものを知っていますか?

答えて

5
git pull --recurse-submodules 

これをメインリポジトリで実行すると、このトリックが実行されます。


また、あなたがサブモジュール内部ながら引っ張るしたいから枝をgit checkout、その後git pullを実行することができます。

結果は同じである必要があります。

+0

をだから私はちょうどメインリポジトリに 'gitのプル原点master'をすれば、それは右、サブモジュールを引っ張っていないのだろうか? – SoftTimur

+0

また、 'git submodule foreach --recursive git pull'にする必要があります。それ以外の場合は' fatal:リモートrefマスターを見つけることができませんでした 'というエラーが返されます。 – SoftTimur

+0

実際には、これはあなたのために@SoftTimur 'git pull --recurse-submodules'で動作しますか?これはより良いアプローチです。 – tehp

関連する問題