6

MapBox-ios-sdk をフォークして、それにいくつかの変更を加えました。SDK の新しいリリースがここにあり、変更をフォークにマージしました。MapBox-ios-sdk には、MapBox-ios-sdk 内のサブモジュールである SMCalloutView も組み込まれています。ただし、公式の sdk のバージョンは、私のフォークにはない、より新しく更新された SMCalloutView を使用しています。

更新するにはどうすればよいですか

hereの手順で SDK を更新します。ただし、これは SMCalloutView を更新しません。git submodule update --recursiveMapBox-ios-sdk のレベルでも試しましたが、何も起こりません。結局のところ、SMCallOutView が「ブランチなし」にあるためです。なぜ「支店なし」にあるのですか?すべてのサブモジュールを「分岐なし」の状態から解放するにはどうすればよいですか? 「ブランチなし」にある場合、更新が必要なサブモジュールまたはサブモジュールのサブモジュール (またはさらにネストされたもの) を知ることはできません。

4

1 に答える 1

19

git 1.8.2+ ( 2013 年 3 月) では、特定のブランチの最新のコミットを反映するサブモジュールを定義できます。
git submodule tracking latest」を参照してください。

これは、サブモジュールを最新のブランチに更新するにはこれで十分であることを意味します。

# --remote will also fetch and ensure that
# the latest commit from the branch is used
git submodule update --remote

オプションの詳細については、git repo commit 06b1abを参照してください--remote


要点をまとめると:

  • 新しいサブモジュール (ブランチに従う必要があります) の場合:

    git submodule add -b [branch] [URL] [DirectoryName]
    
  • ブランチをたどる既存のサブモジュールの場合: git サブモジュールをブランチをたどるサブモジュールに変換する方法については、git repo commit b92892
    も参照してください。 あなたがする必要があるのは、次のとおりです。

    git config -f .gitmodules submodule.<path>.branch <branch>
    

    詳細については、「Git サブモジュール: ブランチ/タグを指定する」を参照してください。

于 2013-06-19T19:37:54.597 に答える