15

git サブモジュールのコミット ポインターを変更しました。

% git status
# On branch fix
# Your branch is behind 'origin/fix' by 1 commit, and can be fast-forwarded.
#
# 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:   app/lib (new commits)
#
no changes added to commit (use "git add" and/or "git commit -a")

しかし、私が行うgit checkoutと、何も変わりません:

% git checkout -- app/lib && git status
# On branch fix
# Your branch is behind 'origin/fix' by 1 commit, and can be fast-forwarded.
#
# 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:   app/lib (new commits)
#
no changes added to commit (use "git add" and/or "git commit -a")

違いは次のとおりです。

% git diff
diff --git a/app/lib b/app/lib
index d670460..83baae6 160000
--- a/app/web-lib
+++ b/app/web-lib
@@ -1 +1 @@
-Subproject commit d670460b4b4aece5915caf5c68d12f560a9fe3e4
+Subproject commit 83baae61804e65cc73a7201a7252750c76066a30

なぜこれが起こるのですか?

ありがとう!

4

1 に答える 1

19

サブモジュール内の SHA が変更された場合、Git はサブモジュールを自動的に更新しません。

git submodule updateサブモジュールを予想される SHA に戻すか、予想git add app/libされる SHA をサブモジュールの現在の値に変更する必要があります。

于 2012-08-30T07:43:14.777 に答える