Was ist der einfachste Weg, die commit zu finden, wenn eine bestimmte Datei wurde hinzugefügt, um die Repo? Ich vermute, dass es keine eingebauten Git-Funktionen dafür gibt, oder?Git - Commit finden, wenn die Datei erstellt wurde
Antwort
Es ist ganz einfach. Der folgende Befehl zeigt das erste Commit an, dass die Datei zum Repo hinzugefügt wurde.
git log --oneline filename | tail -1
Wahrscheinlich die einfachste Sache ist etwas einfach:
git log FILE | grep commit | tail -1 | awk '{ print $NF }'
können Sie sagen:
git log -1 --reverse --pretty=oneline filename
Diese Sie das Commit erste geben sollte.
Von git help
:
-<n>
Limits the number of commits to show. Note that this is a commit
limiting option, see below.
--reverse
Output the commits in reverse order. Cannot be combined with
--walk-reflogs.
Für die Commit-Nachricht zu beseitigen, sagen:
git log -1 --format="%H" --reverse filename
Während dies wahrscheinlich die beste können Sie Für den "normalen" Fall (Datei hinzugefügt und dann mehrfach modifiziert) bin ich mir nicht sicher, ob es eine gute Lösung gibt, wenn die Datei z hinzugefügt, geändert, entfernt, dann zu einem späteren Zeitpunkt wieder eingeführt, oder wenn die Datei aufgrund einer Folge von Umbenennungen usw. entstanden ist ... – twalberg
Wenn Sie wirklich finden wollen das Commit, dass eine Datei eingeführt Sie Umbenennungs berücksichtigen müssen. So verwenden
git log --follow --diff-filter=A -- <filepath>
--diff-filter = [(A | C | D | M | R | T | U | X | B) ... [*]]
nur Dateien auswählen werden hinzugefügt (A), kopiert (C), Deleted (D), Modified (M), umbenannt (R) ...--follow
weiter die Geschichte einer Datei über Umbenennungen Listing (funktioniert nur für eine einzelne Datei).
Schließlich müssen Sie auch die --find-renames
Schwelle anpassen.
--find-Umbenennungen [=]
Wenn diffs zu erzeugen, erkennen und Bericht für jede umbenennt begehen. Weitere Informationen zu den folgenden Dateien beim Umbenennen des Verlaufs finden Sie unter --follow. Wenn n angegeben ist, ist dies ein Schwellenwert für den Ähnlichkeitsindex (d. H. Menge an Hinzufügungen/Löschungen verglichen mit der Dateigröße). Beispiel: -M90% bedeutet, dass Git ein Lösch-/Hinzufügen-Paar als Umbenennung betrachten sollte, wenn mehr als 90% der Datei nicht geändert wurden. Ohne ein% -Zeichen soll die Zahl als Bruch gelesen werden, mit einem Dezimalpunkt davor. D.h., -M5 wird 0,5 und ist somit dasselbe wie -M50%. Ähnlich ist -M05 gleich wie -M5%. Um die Erkennung auf exakte Umbenennungen zu beschränken, verwenden Sie -M100%. Der Standardähnlichkeitsindex beträgt 50%.
- 1. Git Problem mit Commit-Datei
- 2. herauszufinden, wenn ein git-Zweig erstellt wurde (nicht das erste Commit zu diesem Zweig)
- 3. git commit -m vs. git commit -am
- 4. Erstellt Git-Pull immer ein Merge-Commit?
- 5. git commit Fehler: pathspec 'commit' hat keine Datei (en) gefunden, die git bekannt sind
- 6. Finden Commit von Hash-SHA in Git
- 7. Warum löscht Git-Rebase eine Datei, die im letzten Commit hinzugefügt wurde, wenn sie vom Rebase-Zweig gelöscht wurde?
- 8. Git Stash Pop druckt "von uns gelöscht" für Datei, die nie auf Master erstellt wurde
- 9. Git "fehlende" Commit
- 10. Get Git Repository letzten Commit
- 11. In Git, wie kann ich eine gestaffelte Datei wiederherstellen, die vor dem Commit zurückgesetzt wurde?
- 12. Kann Datei nicht von git commit entfernen
- 13. Große Datei in Git Commit stecken
- 14. Git submodul commit hooks
- 15. git find fat commit
- 16. Referenz Git-Zweig Start-Commit
- 17. Git: Wie kann man wissen, ob ein Commit ausgewählt wurde?
- 18. git commit queue tool
- 19. Finden Sie heraus, ob ein Git-Commit vor oder nach einem anderen Commit mit den Hashes eingecheckt wurde
- 20. Intellij Git ein Commit zurück
- 21. Ist git commit -am redundant, wenn ich vorher git addiere?
- 22. Warum hat Git einen Merge-Commit ohne Dateiänderungen erstellt?
- 23. Git: Finden Sie heraus, in welchem Commit wurde ein bestimmter Code hinzugefügt?
- 24. Powershell zu Maschine finden, die eine Datei erstellt
- 25. Reparieren 'rückwärts' Git Fusion, die geschoben wurde
- 26. Woher weiß Git, dass die Datei umbenannt wurde?
- 27. So finden Sie die Verzweigung von Commit-ID
- 28. Matlab: seltsame Datei wurde erstellt, wenn ich Zelle in Excel
- 29. git svn Klon: <file> wurde nicht in commit
- 30. git commit -a/nano
Mögliche Duplikat [Finden Sie begehen, wo Datei hinzugefügt wurde] (http://stackoverflow.com/questions/11533199/find-commit-where-file-was-added) –