Git-Installation und -Nutzung (Versionskontrolle)

1. Einführung in Git (Versionskontrolle)

Die Entwicklung von Versionskontrollsystemen kann in drei Phasen unterteilt werden:

  • lokales Versionskontrollsystem
  • Zentralisiertes Versionskontrollsystem
  • Verteiltes Versionskontrollsystem
  1. Was ist Versionskontrolle?
    Sie können sich ein Versionskontrollsystem (abgekürzt als VCS) als eine „Datenbank“ vorstellen, die Ihnen bei Bedarf beim Speichern eines vollständigen Snapshots eines Projekts helfen kann. Wenn Sie einen früheren Snapshot (als „Version“ bezeichnet) anzeigen müssen, kann das Versionskontrollsystem die Details aller Änderungen zwischen der aktuellen Version und der vorherigen Version anzeigen.

Was ist „Versionskontrolle“? Bei der Versionskontrolle handelt es sich um ein System, das Änderungen im Inhalt einer oder mehrerer Dateien aufzeichnet, sodass Sie den Revisionsstatus einer bestimmten Version in Zukunft überprüfen können . In GIT CODE führen wir eine Versionskontrolle für Dateien durch, in denen Software-Quellcode gespeichert ist. Tatsächlich können Sie jedoch eine Versionskontrolle für jeden Dateityp durchführen. Vorteile der Verwendung von Versionskontrollsystemen in der Teamentwicklung

  1. Versionsverwaltung
    Vermeiden Sie Verwirrung bei der Versionsverwaltung. Dies ist der Hauptgrund für den Einsatz der Versionsverwaltung und der Zweck der Versionsverwaltung. Sie möchten auf keinen Fall mehrere Kopien lokal manuell sichern, aber am Ende wissen Sie nicht, welches Backup das aktuellste ist, welche Änderungen an diesem Backup vorgenommen wurden, wann das Änderungsdatum war usw. Sie können sich nicht erinnern alle Probleme. Versionsverwaltungssoftware kann diese Probleme lösen. Sie verfügt über detaillierte Protokolle, kann sich jede Übermittlung und jede von Ihnen vorgenommene Änderung merken, kann die Ähnlichkeiten und Unterschiede zwischen verschiedenen Versionen vergleichen und anzeigen und jede frühere Version wiederherstellen.

  2. Um die Codequalität zu verbessern
    , war es vor der Versionsverwaltung oft notwendig, irrelevante Kommentare in den Code zu schreiben, zum Beispiel: Jemand hat an einem bestimmten Tag einen bestimmten Code geändert; oder ein Code, der nicht sicher war, ob er verwendet werden sollte, wurde beibehalten in Form von Kommentaren usw. Warten Sie, das sind Zombie-Codes. Jetzt können diese Aufgaben von Versionsverwaltungstools erledigt werden und diese irrelevanten Zombie-Codes können aus dem Code gelöscht werden.
    4. Verbessern Sie die Effizienz der kollaborativen und Mehrpersonenentwicklung.
    Durch die rechtzeitige Übermittlung aktualisierten Codes können sich Teammitglieder über den neuesten Stand des Codes informieren und Doppelarbeit vermeiden.
    5. Klären Sie die Aufgabenverteilung.
    Wann und wer den Code geändert hat und welcher Inhalt geändert wurde, wird von der Versionsverwaltung aufgezeichnet, um eine einfache Abfrage und Nachvollziehbarkeit zu ermöglichen.
    6. Zusätzlich zum Code können viele Dokumente und persönliche Daten wie Lebensläufe usw. versioniert werden, was interessant und effizient ist. Alle Dokumente, die fortlaufend geändert werden müssen, können versioniert werden.
    Versionskontrolltools:
    Lassen Sie uns die derzeit gängigen Versionskontrolltools vorstellen.

  3. Git

Git ist derzeit das fortschrittlichste verteilte Versionskontrollsystem der Welt. Die Verwendung von Git und Gitlab zum Aufbau einer Versionskontrollumgebung ist heute die beliebteste Versionskontrollmethode in Internetunternehmen. Einführung: Git ist ein kostenloses verteiltes Open-Source-Versionskontrollsystem, das dafür
entwickelt
wurde Seien Sie schnell und effizient. Erledigen Sie alles, von kleinen bis hin zu großen Projekten, effizient.
Git ist leicht zu erlernen, hat einen geringen Speicherbedarf und eine blitzschnelle Leistung.
Github-Adresse: https://github.com/git/Git
offizielle Website: https://git-scm.com/official
Dokumentation: https://git-scm.com/docs
Chinesische Dokumentation: https://git- scm.com/book/zh/v2
Download-Adresse: https://git-scm.com/downloads

  1. SVN

Einführung:
TortoiseSVN ist eine sehr benutzerfreundliche plattformübergreifende Versionskontroll-/Versionskontroll-/Quellcode-Kontrollsoftware. Es basiert auf Apache Subversion (SVN)®; TortoiseSVN bietet eine einfache und benutzerfreundliche Benutzeroberfläche für Subversion.
Open-Source-Adresse von TortoiseSVN: https://osdn.net/projects/tortoisesvn/
Github-Adresse von Subversion: https://github.com/apache/subversion
Offizielle Website: https://tortoisesvn.net/
Offizielle Dokumentation: https:// tortoisesvn.net/docs/release/TortoiseSVN_en/index.html
Chinesisches Dokument: https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
Download-Adresse: https://tortoisesvn.net/downloads.html

  1. HG

Einführung:
Mercurial ist ein kostenloses verteiltes Quellcode-Verwaltungstool. Es kann Projekte jeder Größe effizient bearbeiten und bietet eine einfache und intuitive Benutzeroberfläche. Mercurial ist ein leichtes verteiltes Versionskontrollsystem, das in der Python-Sprache implementiert ist, einfach zu erlernen und zu verwenden ist und eine starke Skalierbarkeit aufweist.
Offizielle Website: https://www.mercurial-scm.org/Offizielle
Dokumente: https://www.mercurial-scm.org/wiki/BeginnersGuides
Download-Adresse: https://www.mercurial-scm.org/downloads

  1. CVS

CVS ist ein Versionskontrollsystem und ein wichtiger Bestandteil des Source Configuration Management (SCM). Damit können Sie den Verlauf von Quelldateien und Dokumenten aufzeichnen. Das alte Versionskontrollsystem basiert auf dem Client/Server-Verhalten, sodass es mehrere Benutzer aufnehmen kann und auch die Bildung eines Netzwerks sehr praktisch ist. Diese Funktion macht CVS zur ersten Wahl, wenn Personen an verschiedenen Standorten gleichzeitig an Datendateien (insbesondere dem Quellcode eines Programms) arbeiten.
Offizielle Website: http://www.nongnu.org/cvs/Offizielles
Dokument: https://web.archive.org/web/20140629065005/http://ximbiot.com/cvs/manual/cvs-1.11.23/ cvs.html
-Download-Adresse: https://ftp.gnu.org/non-gnu/cvs/

Vorteil:

  1. Einfachere Verwaltung. Herkömmliche Versionskontrollsysteme verwenden zentralisierte Repositorys, und einige Repository-bezogene Verwaltungen können nur vom Administrator allein durchgeführt werden. Aufgrund des verteilten Modells gibt es bei Mercurial kein solches Problem. Jeder Benutzer verwaltet sein eigenes Repository, und der Administrator muss diese Repositorys nur koordinieren und synchronisieren.
  2. Robusteres System. Verteilte Systeme sind robuster als zentralisierte Einzelserversysteme. Sobald ein Serverproblem in einem Einzelserversystem auftritt, kann das gesamte System nicht ausgeführt werden. Verteilte Systeme werden normalerweise nicht von einem oder zwei Knoten beeinflusst.
  3. Weniger Abhängigkeit vom Netzwerk. Da die Synchronisierung jederzeit erfolgen kann, kann Mercurial sogar offline verwaltet werden und muss nur dann synchronisiert werden, wenn eine Internetverbindung besteht.

Visueller Client für Versionskontrolltools

  1. Der Git-Krake

Nutzen Sie ganz einfach Repositorys, die auf GitHub, GitLab, Bitbucket und Azure DevOps (VSTS) gehostet werden. Bei GitKraken dreht sich alles um das Klonen, das Hinzufügen von Zweigen und das Erstellen/Öffnen von Pull-Anfragen.
Offizielle Website: https://www.gitkraken.com/

Merkmale:

  1. Intuitive Benutzeroberfläche
  2. Integrierter Code-Editor: Initialisieren Sie ein brandneues Projekt und verwenden Sie den integrierten Code-Editor, um neue Dateien und Ordner hinzuzufügen und diese direkt in GitKraken zu bearbeiten. Speichern Sie Dateien, stellen Sie sie bereit und übernehmen Sie Änderungen. Keine Kontextwechsel mehr!
  3. Aufgabenverfolgung: Glo Board mit einem Repository in GitKraken verbinden. Wenn Sie bei einer Aufgabe Fortschritte machen, können Sie Ihren Code bei Problemen schnell aktualisieren und mit dem Codieren fortfahren. 2.Turm

Offizielle Website: https://www.git-tower.com

Vorteile des Towers

  1. Benutzerfreundlichkeit: Sie müssen sich keine komplexen Befehle (und deren Parameter) merken. Tower macht viele erweiterte Vorgänge so einfach wie Drag & Drop.

  2. Machen Sie alles rückgängig: einschließlich des Rückgängigmachens lokaler Änderungen, des Wiederherstellens alter Versionen, des Zurücksetzens von Commits, des Wiederherstellens gelöschter Commits und des Rückgängigmachens von Zweiglöschungen

  3. Klare Visualisierung, besseres Verständnis: Die klare visuelle Oberfläche von Tower ist unglaublich nützlich – und erleichtert das Verständnis komplexer Szenen.

  4. Nutzen Sie Git elegant: Lösen Sie Zusammenführungskonflikte auf einfache, intuitive Weise, ohne dass SSH-Schlüssel, Benutzernamen, Passwörter und Authentifizierungstoken zur Überprüfung erforderlich sind

  5. Quellbaum

Einführung: Sourcetree, ein kostenloser Git-Client für Windows und Mac,
vereinfacht die Art und Weise, wie Sie mit Git-Repositorys interagieren. Visualisieren und verwalten Sie Repositorys über die einfache Git-GUI von Sourcetree. Offizielle
Website: https://www.sourcetreeapp.com/

2. GIT-Installation und Befehlsinstallation

1. Installation

Da ich hauptsächlich unter Windows entwickle, werde ich nur auf die Installation von Git unter Windows eingehen (Git-Installationen unter Linux, Unix und Mac sind hier nicht aufgeführt).

1) Laden Sie es von der offiziellen Website herunter: Git – Downloads
2) Doppelklicken Sie, um die Exe auszuführen und standardmäßig zu installieren (Sie können auch den Installationspfad ändern);
nachdem die Installation abgeschlossen ist, können Sie sie mit der rechten Maustaste sehen , und es gibt mehrere weitere Optionen:
Fügen Sie hier eine Bildbeschreibung ein
Git GUI Here Dies ist hauptsächlich für Git. Grafikfenster (im Allgemeinen nicht verwendet, TortoiseGit wird zur Verwendung installiert); Git Bash Hier ist hauptsächlich die Befehlszeile, wie folgt
Fügen Sie hier eine Bildbeschreibung ein

Zeigt an, dass die Git-Installation erfolgreich war

2. Arbeitsablauf

1) Git-Ressourcen aus dem Remote-Warehouse als lokales Warehouse klonen;

2) Bestellen Sie den Code im örtlichen Lager und ändern Sie ihn.

3) Senden Sie den Code und fügen Sie ihn dem temporären Speicherbereich hinzu, bevor Sie den Code senden.

4) verpflichten Sie sich, Änderungen einzureichen (an das lokale Lager zu übermitteln und jede historische Version der Änderungen zu speichern);

5) Nachdem die Änderung abgeschlossen ist und der Code geteilt werden muss, verschieben Sie ihn in das Remote-Warehouse.

Wie nachfolgend dargestellt:
Fügen Sie hier eine Bildbeschreibung ein

Arbeitsbereich: Das lokal sichtbare Verzeichnis ist ein Arbeitsbereich

Staging-Bereich: In der Indexdatei (.git/index) im .git-Verzeichnis, auch Index genannt

3. Version der Git-Verwaltungsdatei

3.1 Ein Repository erstellen
Ein Repository kann einfach als Verzeichnis verstanden werden. Alle Dateien in diesem Verzeichnis können von Git verwaltet werden. Git kann die Änderung und Löschung jeder Datei und ihren Verlauf verfolgen.

Es gibt einen .git-Ordner im Git-Warehouse. Dieser Ordner ist ausgeblendet. Wenn der ausgeblendete Ordner nicht auf Anzeige eingestellt ist, kann der Benutzer den Ordner nicht sehen. Der Benutzer kann den .git-Ordner direkt über die Befehlszeile git init erstellen. Erstellen Sie oder klicken Sie mit der rechten Maustaste auf „TortoiseGit erstellt hier ein Repository“ (aktivieren Sie nicht „Reines Repository erstellen (kein Arbeitsverzeichnis)“ im Popup-Fenster. Wenn diese Option aktiviert ist, verfügt das erstellte Repository über kein Arbeitsverzeichnis, d. h. Dateien können nicht hinzugefügt werden. zum lokalen Repository), wird das Verzeichnis, das den .git-Ordner enthält, als Arbeitsverzeichnis bezeichnet.

Git erstellt automatisch einen Master-Zweig und führt einen Zeiger HEAD des Masters aus.

4. Bestellen

1)init

——Initialisieren Sie das Git-Repository

git init // Initialisieren Sie das Git Warehouse.
Git Init-Projekt // Initialisieren Sie das Git Warehouse im Projektverzeichnis.
2) Hinzufügen

——Dateien zur Versionskontrolle hinzufügen

git add readme.txt // Readme.txt an das Warehouse senden
3) Klonen

——Kopieren Sie das Projekt aus dem vorhandenen Git-Repository

git clone https//test.git test //Kopieren Sie den Inhalt des test.git-Warehouses in das Testverzeichnis
4) config

——Befehl festlegen

git config --list // Zeigt die aktuellen Git-Konfigurationsinformationen an.
git config -e // Setzt git config -e für das aktuelle Warehouse.
git config -e --global // Für alle Warehouses im System
5) Status

——Sehen Sie sich den aktuellen Status des Lagers an und zeigen Sie die geänderten Dateien an

git status
git status -s //Kurzinhalt abrufen
6) diff

——Vergleichen Sie die Unterschiede zwischen Dateien, die Unterschiede zwischen dem temporären Speicherbereich und dem Arbeitsbereich

git diff [Dateiname] //Änderungen, die nicht zwischengespeichert wurden
git diff --cached [Dateiname] //Zwischengespeicherte Änderungen anzeigen
git diff --staged [Dateiname]
git diff HEAD //Alle zwischengespeicherten und nicht zwischengespeicherten Änderungen anzeigen
git diff --stat //Zusammenfassung anstelle des gesamten Diffs anzeigen
git diff [erster Zweig] [zweiter Zweig] //Den Unterschied zwischen 2 Commits anzeigen
7) Commit

——Senden Sie den Bereitstellungsbereich an das örtliche Lager

git commit -m [message] //Sende
git commit [file1] ... [fileN] //Sende die angegebene Datei an den Warehouse-Bereich
git commit -a //Git add muss nicht ausgeführt werden, direkt senden
8) Zurücksetzen

——Zur Version zurückkehren: Sie können angeben, dass Sie zu einer bestimmten übermittelten Version zurückkehren möchten

git reset [–soft | --mixed | --hard] [HEAD]
–mixed ist die Standardeinstellung und kann ohne diesen Parameter verwendet werden. Es wird verwendet, um die Dateien im Staging-Bereich zurückzusetzen, damit sie mit der letzten Übermittlung konsistent sind Der Inhalt der Arbeitsbereichsdateien bleibt gleich. Konstant.

git reset HEAD~1 //Alle Inhalte auf die vorherige Version zurücksetzen
git reset HEAD readme.txt //Die Version der Datei readme.txt auf die vorherige Version zurücksetzen
git reset xxx //Auf die angegebene Version zurücksetzen
–soft Parameter wird verwendet Führen Sie ein Rollback auf eine Version durch

git reset --soft HEAD~3 //Zurück zu den ersten 3 Versionen
– der Hard-Parameter macht alle nicht festgeschriebenen Änderungen im Arbeitsbereich rückgängig, stellt sowohl den Staging-Bereich als auch den Arbeitsbereich auf die vorherige Version zurück und löscht alle vorherigen. Informationsübermittlung: (Hinweis: Alle Informationen vor dem Rollback-Punkt werden gelöscht)

git reset --hard HEAD~3 //Zu den ersten 3 Versionen zurückkehren
git reset --hard xxxx //Zu allen Informationen vor dem Rollback-Punkt einer bestimmten Version zurückkehren
git reset --hard origin/master //Lokal wiederherstellen Der Status fällt auf das gleiche zurück wie das entfernte
9) rm

——Arbeitsbereichsdateien löschen

git rm [Datei] // Dateien aus dem Staging-Bereich und Arbeitsbereich löschen
git rm -f [Datei] // Um ​​zuvor geänderte Dateien zu löschen, die im Staging-Bereich abgelegt wurden, müssen Sie die Option zum erzwungenen Löschen -f
git rm verwenden --cached [file] //Entfernen Sie die Datei aus dem temporären Speicherbereich und behalten Sie sie im aktuellen Arbeitsverzeichnis
git rm -r * //Rekursiv löschen, alle Dateien und Unterverzeichnisse im Verzeichnis löschen
10) mv

——Arbeitsbereichsdateien verschieben oder umbenennen

git mv [file] [newfile] //Eine Datei, ein Verzeichnis oder einen Softlink verschieben oder umbenennen
git mv -f [file] [newfile] //newfile existiert und muss zur Ausführung gezwungen werden
11) log

——Historische Einreichungsdatensätze anzeigen

git log //Historische Commit-Datensätze anzeigen
git log --online //Eine prägnante Version historischer Datensätze anzeigen
git log --graph //Zeit anzeigen, zu der Verzweigungen und Zusammenführungen im Verlauf stattgefunden haben
git log --reverse //Alle Protokolle anzeigen reverse
git log --author //Das vom angegebenen Benutzer übermittelte Protokoll anzeigen
git log --before(–since)={3.week.ago} --after(–until)={2021-07-25} // Vor 3 Wochen und alle Commit-Protokolle nach dem 25.07.2021 anzeigen
git log --no-merges //Merge-Commits ausblenden
12) Schuld

——Zeigen Sie den Änderungsdatensatz der angegebenen Datei an, der in Listenform angezeigt wird

Git Blame [Datei]
13)remote

——Fernlagerbetrieb

git remote -v //Alle Remote-Repositorys anzeigen
git remote show [remote] //Informationen zu einem Remote-Repository anzeigen
git remote add [Kurzname] [URL] //Remote-Repository hinzufügen
git remote rm name //Remote-Repository löschen
git remote rename alter_name neuer_name //Ändern Sie den Warehouse-Namen.
Wenn die Übertragung zwischen dem lokalen Git-Warehouse und Github über SSH verschlüsselt ist, müssen Sie Verifizierungsinformationen konfigurieren:

Generieren Sie zunächst den SSH-Schlüssel.

Generieren Sie den .ssh-Ordner unter ~/, öffnen Sie id_rsa.pub und kopieren Sie den Schlüsselwert.

14)holen

——Holen Sie sich die Codebasis von der Fernbedienung. Nachdem Sie diesen Befehl ausgeführt haben, müssen Sie git merge vom Remote-Zweig in den Zweig ausführen, in dem es sich befindet.

git merge //Daten aus dem Remote-Warehouse abrufen und versuchen, in den aktuellen Zweig zusammenzuführen
git fetch [alias] //Aktualisierte Daten abrufen
git merge [alias]/[branch] //Alle Aktualisierungen aus dem Remote-Warehouse in den aktuellen Zweig zusammenführen
15) ziehen

——Laden Sie den Remote-Code herunter und führen Sie ihn zusammen. Dies ist die Abkürzung für git fetch und git merge FETCH_HEAD.

git pull [Name des Remote-Hosts] [Name des Remote-Zweigs]:[Name des lokalen Zweigs] // Ziehen Sie den Zweig des Remote-Hosts und führen Sie ihn mit dem lokalen Zweig zusammen. Wenn es sich um den aktuellen lokalen Zweig handelt, kann er weggelassen werden
.

16)drücken

——Remote-Code hochladen und zusammenführen

git push [Name des Remote-Hosts] [Name des lokalen Zweigs]: [Name des Remote-Zweigs]
Wenn der Name des lokalen Zweigs mit dem Namen des Remote-Zweigs übereinstimmt, kann der Name des Remote-Zweigs weggelassen werden.

git push --force [Name des Remote-Hosts] [Name des lokalen Zweigs]:[Name des Remote-Zweigs] // Es gibt einen Unterschied zwischen der lokalen Version und der Remote-Version, Push erzwingen git push [Name des Remote-Hosts] --delete [
remote Zweigname] // Löschen Sie den Zweig, der dem Host entspricht.
17) Zweigstellenverwaltung

git branch [branchname] //Zweig erstellen
git checkout [branchname] //Zweig wechseln
git branch //Zweige auflisten
git branch -d [branchname] //Zweig löschen
git merge [branchname] //Zweigname mit Boil Branch
18) Tag zusammenführen

——Tag, Sie können die Beschriftung verzögern

git tag -a xxx [xxxx] //Annotierte Tags erstellen
git tag -a [Tagname] -m "xxx" //Taginformationen angeben
git tag -s [tagname] -m "xxx" //PGP-Signatur-Tag

Der Zweck von GitHubDaily besteht darin, Entwicklern von Zeit zu Zeit jeden Tag eine Reihe hervorragender Open-Source-Projekte auf GitHub zur Verfügung zu stellen, um Entwicklern dabei zu helfen, die derzeit heißesten Open-Source-Projekte zu entdecken, damit Entwickler den Puls der Technologie kontrollieren und ihre Projekte erweitern können technische Horizonte. und gewinnen Sie technische Fähigkeitenverbesserungen durch das Lernen von Open-Source-Projekten. Portal: github.com/GitHubDaily/GitHubDaily

3. Verwendung

4. Versionskontrolle

5. Filialleitung

6. Git-Tags

7. Minimalistisches Git + VsCode (Windows)

Ich denke du magst

Origin blog.csdn.net/SDXYGZH/article/details/126541769
Empfohlen
Rangfolge