Ich bin mir nicht sicher, ob dieses Verhalten bizarr ist, aber Folgendes passiert: Es scheint, wenn ich renne git blame
in einer Datei haben alle Zeilen in dieser Datei, die vom ersten Commit stammen, einen SHA mit einem führenden Caret (^
), so was
^bb65026 (Brian Danielak 2012-10-27 19:11:54 -0700 1) hello, world! bbcd4a96 (Brian Danielak 2012-10-27 19:11:54 -0700 2) hello again!
Schritte zum Reproduzieren
Von einer Terminal-Eingabeaufforderung:
mkdir newProject
cd newProject
git init
echo 'hello, world!' >> testFile.txt
git add testFile.txt
git commit -m "Initial Commit"
git blame testFile.txt
Überprüfen Sie dann, ob Ihre Schuldausgabe ein führendes Caret hat, wie es bei mir der Fall war (obwohl Ihr SHA wahrscheinlich nicht übereinstimmt).
^bb65026 (Brian Danielak 2012-10-27 19:11:54 -0700 1) hello, world!
Als Test können Sie versuchen, eine zweite Zeile zu einer Datei hinzuzufügen und erneut zu bestätigen, um zu sehen, dass nur der Hash der ersten Zeile ein führendes Caret enthält
echo 'hello again!' >> testFile.txt
git add testFile.txt
git commit -m "Initial Commit"
git blame testFile.txt
Meine Schuldausgabe sieht jetzt so aus:
^bb65026 (Brian Danielak 2012-10-27 19:11:54 -0700 1) hello, world! bbcd4a96 (Brian Danielak 2012-10-27 19:11:54 -0700 2) hello again!
Kann mir jemand erklären, warum das passiert, und ob ich damit hätte rechnen müssen? Passiert es nur, wenn eine Zeile aus dem ersten Commit in einem Repo stammt? Wenn ja warum?
Übrigens – Sie können immer noch Folgendes tun: git log bb65026 -p usw. (ohne das Caretzeichen) und diese Details anzeigen.
– SaminOz
1. September 2016 um 20:16 Uhr