Ist es sicher, mit -Tepth 1 zu flach Klon zu klon, erstellen Sie Commits und ziehen Sie erneut Aktualisierungen ab?

Ist es sicher, mit -Tepth 1 zu flach Klon zu klon, erstellen Sie Commits und ziehen Sie erneut Aktualisierungen ab?

Während der Arbeit an Git klonen Entwickler Remote -Repositories, damit sie auf die Dateien des Projekts zugreifen und ihre Änderungen vornehmen können. Insbesondere erstellt das Klonen eine lokale Kopie eines Remote -Repositorys im lokalen System des Benutzers und ermöglicht es ihnen, lokal am Projekt zu arbeiten. Danach können sie ihre lokalen Änderungen wieder zum Github -Repository weitergeben, damit andere Teammitglieder zugreifen können.

Diese Beschreibung wird erklären:

  • Ist es sicher, flaches Klon-/Kopier-Git-Repo mit „-depth 1“ zu sein, Commits zu machen und erneut Updates zu erhalten/zu ziehen?
  • So flach Klon-/Kopieren von Git-Repo mit "-Depth 1", machen Sie Commits und erhalten Sie erneut Updates?

Ist es sicher, flaches Klon-/Kopier-Git-Repo mit „-depth 1“ zu sein, Commits zu machen und erneut Updates zu erhalten/zu ziehen?

Es ist im Allgemeinen sicher, ein Repository mit dem "mit dem" sicher zu klon-Tiefe 1Option, machen Sie Commits und erhalten/ziehen Updates. Dieser Ansatz kann jedoch zu einigen geringfügigen Problemen führen, wie z. B.:

  • Flaches Klonen eines Repositorys mit "-Depth 1" nur Klone oder Downloads der neuesten Commits und nicht des gesamten Verlaufs, sodass Benutzer keinen Zugriff auf das gesamte Repository haben können.
  • Benutzer können nicht zu einer älteren Version des Code zurückkehren.
  • Während Sie erneut Updates abrufen, können Benutzer nur die Änderungen an das jüngste Komitee abrufen. Wenn es Änderungen an früheren Commits gibt, die sie benötigen, können sie sie nicht bekommen.
  • Wenn Entwickler Commits erstellen und sie in das Repository drängen, basieren sie auf dem neuesten klonierten Commit.

Insgesamt kann das flache Klonen mit -Tepth 1 nützlich sein, um schnell eine Kopie des Repositorys zu erhalten.

Wie kann es mit dem flachen Klon/Kopieren von Git-Repo mit "-depth 1" Commits machen und erneut Updates erhalten/ziehen?

Um ein bestimmtes Git -Repository mit Tiefe 1 zu klonen, erstellen Sie Commits und ziehen Sie erneut Aktualisierungen an, navigieren Sie zunächst zum lokalen Repository. Klonen Sie dann das Remote -Repository mit der Tiefe 1 mit der “Git -Klon -Depth 1 " Befehl. Gehen Sie als nächstes zum geklonten Repository, nehmen Sie Änderungen vor und verpflichten Sie sie. Führen Sie danach Push- und Zugoperationen durch.

Schritt 1: Wechseln Sie in das lokale Repository

Geben Sie zunächst den folgenden Befehl ein und leiten Sie sie in das gewünschte lokale Repository weiter:

$ cd "c: \ git \ local_repo

Schritt 2: Klonendemote -Repository klonen

Dann klonen oder kopieren Sie das bestimmte Remote -Repository, indem Sie die “verwenden“Git -KlonBefehl zusammen mit der gewünschten Tiefe und HTTP -URL des Github -Repositorys:

$ git klon -tiefe 1 https: // github.com/laibayounas/Demo.Git

Hier das "-Tiefe”Option mit einem“1”Wert erhält nur das neueste Commit:

Schritt 3: Wechseln Sie zum Remote -Repository

Wechseln Sie als nächstes zum geklonten Repository durch das “CD" Befehl:

$ cd Demo

Schritt 4: Referenzprotokoll überprüfen

Überprüfen Sie dann das Referenzprotokoll, um den Commit -Verlauf anzuzeigen:

$ Git Reflog .

Es kann beobachtet werden, dass das Remote -Repository nur mit dem neuesten Commit kloniert wurde:

Schritt 5: Erstellen Sie eine neue Datei

Erstellen Sie nun eine neue Datei im aktuellen geklonten Repository:

$ touch newfile.txt

Schritt 6: Verfolgung von Datei

Verfolgen Sie die neu erstellte Datei mit Hilfe der “Git Add" Befehl:

$ git Neufile hinzufügen.txt

Schritt 7: Änderungen begehen

Führen Sie danach den folgenden Befehl aus, um Änderungen zu begehen:

$ Git Commit -m "Neufile.txt hinzugefügt ""

Schritt 8: Überprüfen Sie die Verlaufsverlauf

Überprüfen Sie dann das Referenzprotokoll, um die Änderungen zu überprüfen:

$ Git Reflog .

Es ist zu erkennen, dass das neue Commit in die Commit -Geschichte hinzugefügt wurde:

Schritt 9: Drücken Sie Änderungen in GitHub

Führen Sie den Befehl unterunter aufgeführt aus, um die neuen Änderungen in das GitHub-Repository zu überschreiten:

$ Git Push

Gemäß dem unten bereitgestellten Bild wurden die Änderungen in das Remote-Git-Repository gedrückt:

Schritt 10: Remote -Änderungen ziehen

Holen Sie sich nun die Remote -Updates mit dem folgenden Befehl an das geklonte Repository:

$ git ziehen

Die folgende Ausgabe zeigt, dass das Repository bereits auf dem neuesten Stand ist, was darauf hinweist, dass im Remote -Repository keine neuen Änderungen vorhanden sind:

Nehmen wir nun an, ein anderer Benutzer hat Änderungen am Remote -Repository vorgenommen und Sie möchten den Pull -Operation durchführen. Dann erhalten Sie nur die zuletzt angewandten Änderungen:

$ git ziehen

Es kann in der folgenden Ausgabe angezeigt werden, nur die zuletzt hinzugefügten Änderungen wurden heruntergeladen:

Schritt 11: Änderungen überprüfen

Führen Sie schließlich den Befehl unterunter aufgeführt aus, um sicherzustellen, dass erst kürzlich angewandte Änderungen in das lokal geklonte Repository gezogen werden:

$ Git Reflog .

Wie Sie sehen können, enthält die Commit -Geschichte nur die neuesten Änderungen:

Das drehte sich nur um flaches Klonen mit einem Git -Repository mit Tiefe 1, erstellt Commits und erneut Aktualisierungen.

Abschluss

Es ist im Allgemeinen sicher, ein Repository mit dem "mit dem" sicher zu klon-Tiefe 1Option, erstellen Sie Commits und ziehen Sie Updates ab. Dieser Ansatz kann jedoch zu Problemen führen, wenn der Historie des Repositorys geändert wird, um die von Benutzer gemacht zuständigen Commits zu beeinflussen. Darüber hinaus laden Sie ein flaches Klonen eines Repositorys mit -Tepth 1 nur die neuesten Commits herunter und enthält nicht die gesamte Geschichte des Repositorys. Dies bedeutet, dass Benutzer nicht auf den vollständigen Kontext des Repositorys zugreifen können. In diesem Artikel wurde das flache Klonen eines Git-Repositorys mit Tiefe 1 erläutert, erstellt Commits und erneut Aktualisierungen.