Git blâmer, ne montrant pas de l'histoire
Quand je lance la commande git blâme sur un fichier (à l'aide de msysgit), je reçois toujours le tri suivant de l'impression:
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 1) package co
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 2) {
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 3) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 4) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 5) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 6) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 7) impor
c'est à dire qu'il affiche toutes les lignes ne sont Pas Encore Commis.
J'ai essayé sur plusieurs fichiers, qui ont de nombreuses commet toujours les mêmes résultats. J'ai aussi essayé d'utiliser le parent ou d'un chemin d'accès complet, mais il semble pas faire de différence.
Lorsque j'essaie d'utiliser TortoiseGit blâmer toujours, il affiche chaque ligne comme étant la dernière commis lors de la première commettre:
même de la pensée, comme je l'ai dit, il ya effectivement des dizaines de s'engage dans l'histoire de ces fichiers..
Idées?
Edition - Plus D'Infos
- Git blâmer fonctionne très bien sur GitHub, où ce repo est hébergé.
- Il fonctionne aussi très bien si j'ai le clone d'une machine linux et ne le blâme il
- Il semble que ce soit seulement sur msysgit cela ne fonctionne pas
- Pour moi, ce problème a entraîné d'utiliser un lien symbolique chemin apposées sur un chemin d'accès au référentiel reconnu, de sorte qu'il pensais que le fichier était complètement nouveau.
- Remarque: à Partir de git 2.0.1 (25 juin 2014), git blâme devrait cesser de signaler tous ceux qui "ne sont Pas Encore Commis" des lignes. Voir ma réponse ci-dessous
- Sur la liste de diffusion: git.661346.n2.nabble.com/... arrive Aussi sur Linux.
Vous devez vous connecter pour publier un commentaire.
git blame file.txt
accuse la version de file.txt dans votre copie de travail. Si file.txt a Windows-retours à la ligne (CRLF) dans le repo et vous avezcore.autocrlf = true
, puis chaque ligne de file.txt seront considérés comme différents et est signalée pargit blame
n'est pas encore engagé.La raison pour laquelle
git blame <my_branch>
(ou encore mieuxgit blame HEAD
, qui fonctionne n'importe quelle branche vous êtes sur) fonctionne, c'est qu'il ne blâme pas la copie de travail version donc il n'y a pas de potentiel pour les lignes non encore engagés.git blame -w
ignore l'espace, de sorte que vous pouvez toujours le blâme à l'encontre de la copie de travail, si désiréTrouvé la solution - très bizarre.
Si je l'exécute:
L'histoire est cassé, comme affiché ci-dessus.
Si je fais ça à la place:
Ça marche!!!
C'est très bizarre, parce que AFAICS l'utilisation ne nécessite pas un nom de branche:
git blame mybranch cmakelists.txt
et ce sera un échec; mais si j'écrisgit blame mybranch CMakeLists.txt
il va travailler.De départ git 2.0.1 (25 juin 2014), git blâme devrait cesser de signaler tous ceux qui "ne sont Pas Encore Commis" des lignes.
Voir s'engager 4d4813a (26 Avril 2014) par brian m. carlson (
bk2204
).(Fusionnés par Junio C Hamano --
gitster
-- dans s'engager e934c67, 06 Jun 2014)git config -l
de sortie (et un lien vers cette réponse): qui va me permettre et d'autres pour essayer et voir si le problème persiste.Une autre possibilité: la casse de nom de fichier typo
J'ai eu le même problème avec git blâmer file.txt, alors réalisé que j'avais fait un casse nom de fichier avec faute de frappe file.txt
Changé File.txt (par exemple), et j'ai eu les résultats escomptés w/o d'avoir à spécifier my_branch: git blâmer File.txt