So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde. Wir werden zwei Hauptmethoden untersuchen: das Filtern der Commit-Historie mit git log --author, um Commits eines bestimmten Autors anzuzeigen, und das Verwenden von git show mit einer Commit-Hash, um die Autorendetails eines einzelnen Commits zu überprüfen.

Durch praktische Übungen werden Sie üben, diese Befehle in einem Beispiel-Git-Repository anzuwenden. Wir werden zeigen, wie Sie Commits nach Autorenname filtern und dann git show verwenden, um die Autorinformationen eines bestimmten Commits zu untersuchen, damit Sie effektiv den Beitragenden einer beliebigen Änderung in Ihrer Git-Historie identifizieren können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/config -.-> lab-560070{{"So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde"}} git/add -.-> lab-560070{{"So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde"}} git/commit -.-> lab-560070{{"So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde"}} git/diff -.-> lab-560070{{"So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde"}} git/log -.-> lab-560070{{"So prüfen Sie, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde"}} end

Verwenden von git log --author zum Filtern

In diesem Schritt lernen wir, wie wir die Commit-Historie mithilfe der --author-Option mit dem git log-Befehl filtern können. Dies ist nützlich, wenn Sie nur die Commits anzeigen möchten, die von einer bestimmten Person vorgenommen wurden.

Zunächst stellen wir sicher, dass wir uns im Projektverzeichnis befinden. Öffnen Sie Ihr Terminal und geben Sie ein:

cd ~/project/my-time-machine

Nun verwenden wir git log mit der --author-Option, um die Commits von "Jane Doe" anzuzeigen. Denken Sie daran, dass wir den Autorennamen im Einrichtungsschritt konfiguriert haben.

git log --author="Jane Doe"

Sie sollten den Commit sehen, den wir im vorherigen Lab vorgenommen haben:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Wenn es Commits von anderen Autoren gäbe, würden diese in dieser Ausgabe nicht erscheinen. Dies zeigt, wie einfach Sie die Commit-Historie filtern können, um sich auf die Beiträge einer bestimmten Person zu konzentrieren.

Die Möglichkeit, das Commit-Log nach Autoren zu filtern, ist ein leistungsstarkes Werkzeug, insbesondere in einem Team. Es ermöglicht Ihnen, schnell zu sehen, wer welche Änderungen vorgenommen hat und die Beiträge jedes Teammitglieds zu verstehen.

Drücken Sie q, um die Log-Ansicht zu verlassen.

Verwenden von git show zur Überprüfung des Autors

In diesem Schritt verwenden wir den git show-Befehl, um die Details eines bestimmten Commits, einschließlich der Autorinformationen, anzuzeigen. Dies ist hilfreich, wenn Sie einen einzelnen Commit im Detail untersuchen möchten.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.

Zunächst holen wir uns den Commit-Hash (die eindeutige Kennung) unseres Commits. Wir können git log --oneline verwenden, um eine kürzere Version des Logs zu erhalten:

git log --oneline

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

a1b2c3d (HEAD -> master) Send a message to the future

Der erste Teil, a1b2c3d (Ihr Hash wird anders sein), ist der kurze Commit-Hash. Kopieren Sie diesen Hash.

Nun verwenden Sie den git show-Befehl, gefolgt vom kopierten Commit-Hash:

git show <paste_your_commit_hash_here>

Beispielsweise würden Sie, wenn Ihr Hash a1b2c3d war, folgendes eingeben:

git show a1b2c3d

Die Ausgabe zeigt die Details dieses bestimmten Commits, einschließlich des Autors:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+Hello, Future Me

Sie können deutlich die Zeile Author: sehen, die bestätigt, dass "Jane Doe" diesen Commit vorgenommen hat. Der git show-Befehl ist eine leistungsstarke Möglichkeit, einzelne Commits zu untersuchen, genau zu sehen, welche Dateien geändert wurden, und den Inhalt dieser Änderungen anzuzeigen.

Drücken Sie q, um die Ansicht zu verlassen.

Testen mit mehreren Autoren

In diesem Schritt simulieren wir, dass ein weiterer Autor einen Commit vornimmt, um zu sehen, wie git log --author mit mehreren Mitwirkenden funktioniert.

Zunächst ändern wir die Git-Autor-Konfiguration für den nächsten Commit. Wir können dies temporär für dieses Repository tun:

git config user.name "John Smith"
git config user.email "[email protected]"

Nun erstellen wir als "John Smith" eine neue Datei:

echo "Hello from John" > johns-file.txt

Fügen Sie die neue Datei zum Staging-Bereich hinzu:

git add johns-file.txt

Und committen Sie die Änderung als "John Smith":

git commit -m "Add a file from John"

Sie sollten eine Ausgabe sehen, die anzeigt, dass ein neuer Commit von "John Smith" erstellt wurde.

Nun verwenden wir git log, um die vollständige Historie anzuzeigen:

git log

Sie werden zwei Commits sehen, einen von "Jane Doe" und einen von "John Smith".

Nun filtern wir das Log, um nur die Commits von "Jane Doe" anzuzeigen:

git log --author="Jane Doe"

Dies wird nur den ersten Commit anzeigen.

Schließlich filtern wir das Log, um nur die Commits von "John Smith" anzuzeigen:

git log --author="John Smith"

Dies wird nur den zweiten Commit anzeigen.

Dies zeigt, wie effektiv git log --author ist, um Commits basierend auf dem Autor zu filtern, was für die Verfolgung von Beiträgen in kollaborativen Projekten unerlässlich ist.

Drücken Sie q, um die Log-Ansichten zu verlassen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob ein Git-Commit von einem bestimmten Autor vorgenommen wurde. Zunächst haben wir den Befehl git log --author verwendet, um die Commit-Historie zu filtern und nur die Commits anzuzeigen, die von einem bestimmten Autor vorgenommen wurden. Dies zeigt die Nützlichkeit dieses Befehls, um sich auf die Beiträge einzelner Personen in einem Teamkontext zu konzentrieren.

Anschließend haben wir untersucht, wie man den git show-Befehl mit einem bestimmten Commit-Hash verwendet, um detaillierte Informationen zu diesem Commit anzuzeigen, einschließlich des Namens und der E-Mail-Adresse des Autors. Dies bietet eine Möglichkeit, den Autor einer bestimmten Änderung zu verifizieren. Schließlich haben wir diese Methoden mit mehreren Autoren getestet, um ihre Wirksamkeit bei der Unterscheidung von Beiträgen verschiedener Personen zu bestätigen.