Website-Suche

Wie man Git-Befehle direkt aus Python ausführt?


Git ist das Befehlszeilen-Tool zur Verwaltung von Projekten, während Python die beliebteste Programmiersprache ist. Das Erstellen und Verwalten von Repositories für Programmierung ist eine einfache Aufgabe mit dem Git Bash-Terminal.

Es ist jedoch viel interessanter und hilfreicher, Git-Befehle direkt aus Python auszuführen. Hilfreich in dem Sinne, dass Sie das Git Bash-Terminal nicht separat öffnen müssen. Zu diesem Zweck verfügt Python über einige integrierte Funktionen, die speziell für die Ausführung von Git-Operationen entwickelt wurden.

Dieser Beitrag wird den Leitfaden illustrieren, um die Git-Befehle direkt aus Python auszuführen.

Wie man Git-Befehle direkt aus Python ausführt?

Wie bereits erwähnt, ermöglicht Python das Ausführen von Git-Befehlen direkt aus Python. Lassen Sie uns die grundlegenden Operationen von Git Bash wie das Initialisieren eines Repositories, das Klonen, das Aktualisieren von Änderungen und das Pushen zu einem Remote-Host aus dem Python-Code durchführen. Zum Beispiel verwenden wir die Thonny-IDE, um den Python-Code auszuführen und auszuführen.

Schritt 1: Lokales Repository initialisieren

Öffnen Sie Thonny, importieren Sie die Git-Bibliothek, schreiben Sie den Variablennamen, initialisieren Sie das Repository mit der Funktion „Repo.init()“ und definieren Sie den Repository-Pfad darin. Am Ende drucken Sie die Nachricht auf dem Bildschirm für die erfolgreiche Ausführung des Codes:

from git import Repo
new_repo = Repo.init('D:\Python')
print(f'Given directory is initialized')

Aus der obigen Ausführung des Codes wurde das betreffende Verzeichnis initialisiert:

Schritt 2: Klonen Sie das Remote-Repository

Um das Git-Repository vom Remote-Host zu klonen, speichern Sie die Remote-URL und den lokalen Verzeichnispfad in den Variablen. Verwenden Sie anschließend die git.repo.clone_from() Methode, setzen Sie beide Variablen darin ein und drucken Sie die Nachricht aus. Überprüfen Sie den unten angegebenen Code:

import git

Clone a remote repository
repo_url = "https://github.com/Mateen900/perk"
local_path = "D:\Python\Clone"
repo = git.Repo.clone_from(repo_url, local_path)
print(f'Project Repository has been cloned: {local_path}')

Nachdem der obige Code ausgeführt wurde, wird das entfernte Repository im angegebenen Pfad geklont.

Zur Überprüfung öffnen Sie das lokale Verzeichnis und überprüfen Sie es:

Schritt 3: Änderungen verfolgen und übernehmen

Nachdem Sie das Repository geklont haben, können Sie nun die Dateien/Änderungen im geklonten Projekt ändern/hinzufügen, sie nachverfolgen und committen. Zum Beispiel:

  • Wir haben zwei Dateien „test1.txt“ und „test2.txt“ im geklonten Projekt hinzugefügt. Um die Änderungen wie gewohnt zum Tracking-Index hinzuzufügen, importieren Sie die Git-Bibliothek, geben Sie den lokalen Verzeichnispfad in der Variablen an und verwenden Sie diese Variablen, um die betreffende hinzugefügte Datei einzuschließen.
  • Verwenden Sie dann die Funktion „repo.index.add()“ und geben Sie die Variablen der Datei darin ein.
  • Zuletzt drucken Sie die Nachricht auf dem Bildschirm aus:

Die hinzugefügten Dateien wurden verfolgt.

Ähnlich, um die Änderungen zu committen, verwenden Sie die „repo.index.commit()“-Funktion, wie der folgende Code zeigt:

Um zu überprüfen, ob die Dateien hinzugefügt und festgeschrieben wurden oder nicht, öffnen Sie das lokale Verzeichnis, und Sie werden das rote Zeichen bei diesen Dateien sehen:

Schritt 4: Die Änderungen auf den Remote-Host übertragen

Schließlich die angewendeten Änderungen auf den Remote-Host übertragen. Dazu:

  • Importieren Sie die Git-Bibliothek, fügen Sie den Verzeichnispfad hinzu und geben Sie den Remote-Hostnamen in die Funktion „repo.remote()“ an.
  • Als nächstes definieren Sie einen Branch mit der Funktion „repo.heads[]“ und rufen die Checkout-Funktion darauf auf.
  • Zuletzt drücken Sie den Code auf den Remote-Host durch die „origin.push()“-Funktion und drucken Sie die Nachricht auf dem Bildschirm:
import git

repo = git.Repo("D:\Python\clone")
origin = repo.remote(name='origin')

existing_branch = repo.heads['main']
existing_branch.checkout()

origin.push()
print('Changes pushed to the remote host')

Die Änderung wurde auf den Remote-Host übertragen.

Schritt 5: Überprüfung

Lass uns unseren Remote-Host auf die aktualisierten Änderungen überprüfen:

Aus dem obigen Bild geht hervor, dass die Änderungen auf unseren Remote-Host übertragen wurden.

Dies sind die grundlegenden Anweisungen zur Verwendung von Git direkt aus Python-Code.

Fazit

Um Git-Befehle direkt aus Python auszuführen, öffnen Sie die Python (Thonny) IDE, importieren Sie die Git-Bibliothek; verwenden Sie die grundlegenden Funktionen wie Repo.git(), git.repo.clone_from(), repo.index.add() und repo.index.commit(). Dieser Leitfaden hat praktisch die Anweisungen zur Ausführung von Git-Befehlen direkt aus Python durchgeführt.