2017-09-01 5 views
3

Je ne sais pas si c'est le phénomène attendu de git mais je pense que j'ai peut-être trouvé un bug étrange.git -C Bogue de commande

J'ai un script qui copie le fichier de spécifique commit à un autre endroit

exemple

git -C C:\Users\testDir show ${hash of the commit}:test.csv > C:\Users\anotherTestDir\test.csv 

Cela fonctionne comme prévu sauf quand je n'ai qu'un commettras.

Lorsque j'ai un seul commit, il fait system cannot find the file specified erreur.

Après avoir fait un autre commit et exécuter exactement la même commande, cela fonctionne parfaitement.

phénomène Encore plus étrange est que quand je n'ai qu'un commettras et utiliser le chemin relatif, il fonctionne

exemple

git -C .\ show ${hash of the commit}:test.csv > .\test.csv 

Est-ce un comportement attendu? Si c'est le cas, quelle serait la solution pour pouvoir utiliser la même commande quand il n'y a qu'un seul commit?

de Windows CMD

enter image description here

console de WebStorm enter image description here

+0

Que faire si vous testez simplement 'git -C C: \ Users \ testRep show $ {hash de la validation}: test.csv' avec une validation? Avez-vous la même erreur? Ce serait bien d'avoir exactement la sortie. –

+0

vous voulez juste montrer sans copier? Oui même erreur. Très étrange @ gsi-frank. Essayez-le moi-même Je suis très intriguée – forJ

+1

Pouvez-vous tester 'git -CC:/Users/testDir show $ {hash de la validation}: test.csv' et si ne fonctionne pas, alors' git -C "C:/Users/testDir" show $ {hash de la validation}: test.csv'? Travaillé pour moi dans OSX, donc je suppose que c'est un truc de personnage de Windows-shell-git. –

Répondre

1

par les commentaires: utiliser C:/Users/testDir au lieu de C:\Users\testDir comme paramètre.