Wie in nicht nur die wichtigsten Änderungen vielleicht die installierten Abhängigkeiten und alle vor einer Freigabe ohne eine nach der anderen zu überprüfen?Gibt es eine Möglichkeit, die wichtigen Commits in GIT vor einer Veröffentlichung zu finden?
Antwort
Da Git nicht wissen, welche Commits wichtig sind zu Ihnen, müssen Sie zunächst definieren Sie Ihre eigenen Richtlinien/Format, wie Sie Ihre Commit-Nachrichten schreiben, die Sie später problemlos verwenden können Unterscheiden Sie alle für eine bestimmte Entwicklungszeit gemachten Zusagen.
Zum Beispiel:
- Wenn es ein Bug-Fix ist, prepend die Commit-Nachricht mit einem "[Bugfix]"
- Wenn es ein neues Feature ist, prepend die Commit-Nachricht mit einem "[ Feature] "
- Wenn es ein Projekt Nachrüsten ist, prepend die Commit-Nachricht mit einer" [Migration] "
, wenn alle Zweige haben den Hauptzweig zusammengeführt wurden (lassen Sie uns sagen, es ist entwickeln), Check-out die Zweig entwickeln und git log --grep=<PATTERN>
verwenden, um einen bestimmten Satz von Commits zu identifizieren.
Zum Beispiel, wenn Sie nur die Bug-Fix verpflichtet benötigen, tun ein:
git log --grep="bugfix"
, die Sie zeigt alle Commits mit "Bugfix" in der Nachricht begehen.
Wenn Sie nur die Commits für einen bestimmten Zeitraum benötigen, können Sie die --since=<date>
Option:
git log --since="2017-06-01" --grep="bugfix"
Wenn Sie eine formatierte Liste wollen (was Sie können, um einige leicht Ausgang Art Release Notes, nehme ich an), können Sie die --format=<format>
Option:
git log --since="2017-06-01" --grep="bugfix" --format="(%ci) %h : %s"
Der Befehl oben werden Sie so etwas wie dieses geben:
(2017-06-18 18:26:36 +0800) 63f330f : [bugfix] prevent crash when dialog is sent to background (2017-07-01 10:03:40 +0800) cdcbd91 : [bugfix] remove extra row at the end of the list
Sie können die other format options aus der vollständigen git log docs
überprüfen.
Grundsätzlich hängt alles von Ihrem Commit-Nachrichtenformat ab.
Als Tipp können Sie mit einem commit.template
zu erleichtern, um Ihre Commit-Nachrichten zu formatieren.
commit.template
Wenn Sie dies auf den Pfad einer Datei auf Ihrem System, Git wird diese Datei als Standard-Nachricht verwenden, wenn Sie zu begehen. Für Beispiel: Angenommen, Sie eine Vorlagendatei an
~/.gitmessage.txt
erstellen, dass wie folgt aussieht:
subject line
what happened
[ticket: X]
- 1. Gibt es eine geeignete Möglichkeit, Git-Commits selektiv zu entfernen?
- 2. Gibt es eine Möglichkeit, den Inhalt einer Datei durch alle Commits in Git zu ändern?
- 3. Gibt es eine Möglichkeit, die Anzahl der zusätzlichen Commits in Git ohne awk zu erhalten?
- 4. git: größte Commits finden
- 5. Gibt es eine Möglichkeit, Git-Commits von einem Teil meines Baumes in einen anderen zu übertragen?
- 6. Git-Commits finden, die mehrere spezifische Commits enthalten
- 7. Gibt es eine schnelle Möglichkeit, eine lange Geschichte von Commits zu master-Zweig zu rebasen?
- 8. Gibt es eine Möglichkeit, einen Zweig in GIT zu sperren
- 9. Gibt es eine Möglichkeit, Ergebnisse in einem Baum zu finden?
- 10. Gibt es eine Möglichkeit, eine Argumentliste vor dem Ausführen von -exec zu finden?
- 11. Gibt es eine Möglichkeit, den Autor des Commits in `git rebase -i` (interaktiv) aufzulisten?
- 12. Gibt es eine Möglichkeit, die Geschwindigkeit einer ScrollView zu berechnen?
- 13. Git/Gitlab: Gibt es eine integrierte Möglichkeit, benutzerdefinierte Anforderungen vor dem Zusammenführen zu erzwingen?
- 14. Gibt es in Git eine Möglichkeit, den "freundlichen" Namen für ein beliebiges Commit zu erhalten?
- 15. Gibt es eine Möglichkeit, eine lokale Niederlassung unveränderlich zu machen?
- 16. Gibt es eine Möglichkeit, sich vor Mercurial-Identitätsdiebstahl zu schützen?
- 17. Gibt es eine Möglichkeit, Git Stashs neu zu ordnen?
- 18. Gibt es eine Möglichkeit, GIT- und Subversion-Repositories zu synchronisieren?
- 19. Gibt es eine Möglichkeit, den stärksten regulären Ausdruck zu finden?
- 20. Git: Gibt es eine Möglichkeit, einen Teilbaum automatisch zu verschieben?
- 21. In der Jenkins-API gibt es eine Möglichkeit, den Git-Commit des letzten Builds zu finden?
- 22. Gibt es eine Möglichkeit, die Ausgabe von git Schuldzuweisung anzupassen?
- 23. Gibt es eine Möglichkeit, Wildcards mit git checkout zu verwenden?
- 24. Gibt es eine Möglichkeit, Creeps zu löschen?
- 25. Gibt es eine Möglichkeit, die Pixellänge einer Zeichenfolge zu berechnen?
- 26. Gibt es eine Möglichkeit, die Rotation einer Videosphäre zu erreichen?
- 27. Gibt es eine Möglichkeit, die Eigenschaften einer Struktur zu durchlaufen?
- 28. Gibt es eine Möglichkeit, die Slots einer Klasse zu bekommen?
- 29. Gibt es eine Möglichkeit, die Länge einer Zeichenfolge in Batch/PowerShell Script/VBScript zu finden?
- 30. Gibt es eine Möglichkeit, die Zeilen-/Spaltenräume einer Matrix in R zu finden?
Alle auf dem Weg kann man diese wichtigen Commits mit etwas markieren nach dem Sie später suchen könnten. –