Dans le GitFaq je peux lire, quegit change la date de modification des fichiers
Git définit l'heure actuelle comme l'horodatage sur chaque fichier qu'il modifie, mais seulement ceux-ci.
Cependant, j'ai essayé cette séquence de commande (EDIT: ajouté séquence de commande complète)
$ git init test && cd test
Initialized empty Git repository in d:/test/.git/
$ touch filea fileb
$ git add .
$ git commit -m "first commit"
[master (root-commit) fcaf171] first commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 filea
create mode 100644 fileb
$ ls -l > filea
$ touch fileb -t 200912301000
$ ls -l
total 1
-rw-r--r-- 1 exxxxxxx Administ 132 Feb 12 18:36 filea
-rw-r--r-- 1 exxxxxxx Administ 0 Dec 30 10:00 fileb
$ git status -a
warning: LF will be replaced by CRLF in filea
# On branch master
warning: LF will be replaced by CRLF in filea
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: filea
#
$ git checkout .
$ ls -l
total 0
-rw-r--r-- 1 exxxxxxx Administ 0 Feb 12 18:36 filea
-rw-r--r-- 1 exxxxxxx Administ 0 Feb 12 18:36 fileb
Maintenant, ma question: Pourquoi git changer l'horodatage du fichier fileb
? Je m'attendrais à ce que l'horodatage soit inchangé.
Mes commandes causent-elles un problème?
Peut-être qu'il est possible de faire quelque chose comme un git checkout . --modified
à la place? J'utilise git version 1.6.5.1.1367.gcd48
sous mingw32/windows xp.
Merci pour votre effort, 'git checkout - tests/BusTests.c' fonctionne comme prévu. – tanascius
J'ai ajouté une séquence de commandes complète à ma question ... peut-être que vous pouvez essayer de reproduire cela une fois de plus? – tanascius