On Thursday, June 10, 2010 01:19:57 pm Kim Allamandola's cat walking on the keyboard wrote: > hum... L'add va fatto per ogni file che aggiungi; se modifichi non > va fatto add (non come cvs per capirci) se aggiungi puoi fare "add ." > nella root del repo senza specificare i singoli file aggiunti, verranno > presi da soli ricorsivamente nel tree.
In git devi fare add di ogni modifica che vuoi inserire nell'index (area di pre-commit), questo perché git traccia i contenuti, non i file. Questo significa che lo stesso file può dover essere "addato" piu' volte, una per ogni contenuto che cambia: l...@fluca-laptop:~/tmp$ git add file.txt l...@fluca-laptop:~/tmp$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: file.txt # l...@fluca-laptop:~/tmp$ echo "Linea 2" > file.txt l...@fluca-laptop:~/tmp$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: file.txt # # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: file.txt # Come vedi dopo il primo add il contenuto di file.txt viene memorizzato per il commit, se io comunque modifico il file allora il contenuto dello snapshot precedente rimane pronto al commit, e il sistema mi dice che il file è modificato ancora. Se facessi commit ora solo il contenuto del primo add sarebbe memorizzato nel repository, mentre se voglio memorizzare il file con le ultime modifiche devo prima fare un nuovo add. Ogni volta che cambia il contenuto devo fare add del contenuto. In sostanza l'indice funziona da pre-commit. Questa funzionalità non mi pare sia presente in hg, che invece traccia il file e quindi committa sempre lo stato corrente dei file. Luca _______________________________________________ ug-itlosug mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/ug-itlosug
