2012-08-30 5 views
12

Ho cambiato il puntatore commit di un modulo git:Come scartare la modifica al sottomodulo 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") 

Eppure, quando faccio git checkout, nulla cambia:

% 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") 

Ecco il diff:

% 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 

Qualsiasi idea del perché questo accadere?

Grazie!

risposta

16

Git non aggiorna i sottomoduli automaticamente quando lo SHA in essi è stato modificato.

Si sia bisogno di git submodule update che metterà il modulo indietro al previsto SHA, o git add app/lib che cambierà l'atteso SHA al valore corrente nel modulo.