gitサブモジュールとして組み込んだMapBox-iOS-sdkを使用するiOSプロジェクトをBitbucketでホストしています。私が追跡するコミットは、リリースブランチではなく、開発ブランチにあります。たとえば、後でBitbucketからプロジェクトのクローンを作成しようとしたとき(git clone --recursiveを使用)。また、サブモジュールMapBox-iOS-sdkをMapBoxから最新のものに更新することも気に入っています。だから引っ張りたい。しかし、最初は「ブランチなし」なので、自分のプロジェクトのMapBox-iOS-sdkディレクトリに移動して、
git checkout -b develop remotes/origin/develop
それは私に出力を与えます:
M MapView/Map/SMCalloutView Previous HEAD position was 6c6be52... closes #148: incorporate @tmalloy's RMShape bezier curve enhancements
Branch develop set up to track remote branch develop from origin.
Switched to a new branch 'develop'
それから、私はをしました、git pull
そしてそれは私がすでに最新であると私に告げます。この時点で、私の最初の質問:私はすでにMapbox開発ブランチからの最新のコミットを行っていますか?
この時点git status
で、Mapbox-iOS-sdkディレクトリに入力すると、次のようになります。
git status
# On branch develop
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: MapView/Map/SMCalloutView (new commits)
#
no changes added to commit (use "git add" and/or "git commit -a")
そして、ここに私の2番目の質問があります:これは正確にはどういう意味ですか?とにかくmapbox-ios-sdkを変更しようとはしていません。私がしたいのは公式バージョンを使用することだけですが、なぜコミットするように求められるのですか?コミットすると、Mapbox sdkの新しいバージョンを変更しているように見えます。その後、自分のプロジェクトで、公式ソースにないこの特定のコミットにタグを付けます。コミットが見つからないため、プロジェクトをプルしようとした同僚が問題を抱えているのではないでしょうか。
編集: SMCalloutViewは、MapboxSDK自体に組み込まれたgitサブモジュールです。
編集2: すべてのコマンドは、pwdがMapbox-ios-sdkベースディレクトリ(私のプロジェクトのサブディレクトリ)にあるときに発行されました。
編集3: プロジェクトはhttps://bitbucket.org/t2wu/container-bugにあります