Heim > Artikel > Backend-Entwicklung > Allgemeine Git-bezogene Kenntnisse und Befehle
Git-Programm installieren
ContOS
Yum install –y epel-release
Yum install – y git
Ubuntu
Sudo apt-get install git
Installieren unter Windows
https://git-scm.com/download/win
Nach Abschluss der Installation ist der letzte Einstellungsschritt erforderlich
git config --global user.name "Qiang"//Zum Beispiel Qiang
git config - -global user.email "zhiqiangwang @aliyun.com"//Schreiben Sie an Ihre E-Mail-Adresse
Erstellen Sie ein Versions-Repository und übertragen Sie die Datei
Mkdir /home/gitroot //Verzeichnis erstellen
Cd /home/gitroot //Verzeichnis eingeben
Git init //Mit Befehl initialisieren. Lassen Sie dieses Verzeichnis ein Warehouse programmieren, das Git verwalten kann
Ls –a //Sie können das .git-Verzeichnis sehen
Echo –e „QIANG“>1.txt //Erstellen Sie eine Datei 1 .txt
Git add 1.txt //1.txt zum Warehouse hinzufügen
Git commit –m „add new file 1.txt“ //Nach dem Hinzufügen müssen Sie sich wirklich verpflichten commit Senden Sie die Datei an das Git-Warehouse
Echo –e „QIANG QIANG“>> 1.txt //Change 1.txt
Git status //Überprüfen Sie den Status des aktuellen Warehouse, Zum Beispiel, ob es eine gibt. Ändern Sie die Datei
Git checkout --1.txt//Überschreiben Sie 1.txt im Warehouse mit dem lokalen 1.txt
Git diff 1.txt/Sie können Vergleichen Sie diese Änderung von 1.txt. Welcher Inhalt wird mit der Version im Warehouse verglichen?
Löschen Sie die Datei
1. git add test.txt
2. git commit -m „add test.txt“
3. rm test.txt
5. git rm test.txt
6. rm ' test.txt'
7. git commit -m "remove test.txt"
Alle Dateien im aktuellen Verzeichnis hochladen
1. git add .
2. git commit -m "updata all"
3. git push
Version Änderungen
mehrmals 1.txt ändern und Git-Add- und Git-Commit-Vorgänge ausführen
Git-Protokoll //Sie können alle an das Git-Warehouse übermittelten Warehouse-Datensatzvorgänge anzeigen
Git log –pretty=oneline Zeile für Zeile anzeigen
Sie können alle in der Vergangenheit übermittelten Versionen über das Git-Protokoll anzeigen, sodass Sie eine bestimmte Version angeben können, die gemäß diesem Protokoll zurückgesetzt werden soll
Git-Reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //Sie können diese Version zurücksetzen, hier ist eine lange Zeichenfolge, kann abgekürzt werden (erste 5 Zeichen)
Git reflog //kann alle Versionen anzeigen
Dateiwiederherstellung
beim Ändern von 1.txt gefunden. Die Änderung ist falsch, ich möchte den Status der letzten Übermittlung ändern
Git checkout –1.txt//Auf den Status von wiederherstellen die letzte Übermittlung
Wenn die Änderung von 1.txt abgeschlossen ist, fügt Git 1.txt hinzu, aber es erfolgt kein Git-Commit. Wenn Sie zum Status des letzten Commits zurückkehren möchten, können Sie dies tun Verwenden Sie
Git reset HEAD 1.txt
und dann
Git checkout –1.txt
Dateilöschung
Echo „QIANG“ >2.txt
Git add 2.txt
Git commit –m „add new file 2.txt“
Rm –f 2 .txt
Git-Status
Git rm 2.txt
Git commit –m „2.txt löschen“//2.txt vollständig löschen
Erstellen Sie ein Remote-Warehouse
1 Registrieren Sie zunächst ein kostenloses Warehouse https:/ /github.com/ oder https://git.oschina.net/
2. Berechtigungsauthentifizierung, Schlüssel hinzufügen
github:Setting->SSH- und GPG-Schlüssel->Neuer SSH-Schlüssel->Titel und Schlüssel eingeben
oschina: Profil->Öffentlicher SSH-Schlüssel->Öffentlichen Schlüssel hinzufügen->Titel und öffentlichen Schlüssel eingeben in
Schlüsselpaar generieren: ssh-keygen
Liunx: Cat /root /. ssh/id_rsa
Cat /root/.ssh/id_rsa.pub //Öffentlicher Schlüssel
Windwos:Cat c:/Users/Cmd/.ssh/id_rsa
Cat c:/Users/Cmd/.ssh/id_rsa.pub
Erfolgreich hinzufügen und E-Mail erhalten
3. Erstellen Sie ein Link-Warehouse
3.1 Mkdir /home/ gitroot / /Verzeichnis erstellen
3.2 Cd /home/gitroot //Verzeichnis eingeben
3.3 Git init //Mit Befehl initialisieren. Lassen Sie dieses Verzeichnis ein Warehouse programmieren, das Git verwalten kann
3.4 Git Remote Add Origin Warehouse-Adresse
Git Remote Add Origin git@git.oschina.net:zhiqiangwang/Qiang.git
3.4.1 Herkunft ist der Alias Ihres Lagers und kann nach Belieben geändert werden, aber bitte achten Sie darauf, dass es nicht zu Konflikten mit dem bestehenden Lager-Alias kommt
3.4.2 Lageradressen werden grundsätzlich unterstützt
3.5 Echo – e „QIANG“>Qiang.txt //Neues Qiang.txt
3.6 git add Qiang.txt
3.7 git commit –m „add Qiang.txt“
3.8 git push –u origin master //Das lokale Qiang-Lager an das entfernte Qiang übertragen
3.9 Echo –e „QIANG QIANG“>>Qiang.txt // QIANG QIANG anhängen
3.10 git add Qiang.txt3.11 git commit –m „Qiang.txt aktualisieren“3.12 git push //Das lokale Qiang-Lager erneut in das entfernte Qiang verschieben Klonen Sie ein Remote-Repository Git-Klon git@git.oschina.net:zhiqiangwang/Qiang.git ZweigverwaltungGit-Zweig Zweig anzeigenGit-Zweig wang Zweig erstellengit checkout wang Wang-Zweig wechseln Zweig zusammenführenGit Merge Wang //Wang-Zweig mit Master zusammenführenHäufige Zusammenführungsprobleme1. Wenn sowohl der Master-Zweig als auch der Wang-Zweig Qiang.txt bearbeiten , Wenn während der Zusammenführung ein Konflikt auftritt, lösen Sie bitte zuerst den Konflikt, bevor Sie mit der Zusammenführung fortfahren 2. Die Möglichkeit, den Konflikt zu lösen, besteht darin, Qiang.txt im Hauptzweig zu bearbeiten und in den Inhalt von Qiang zu ändern .txt im Wang-Zweig, dann Qiang.txt senden und zusammenführen 3. Wenn der Inhalt der Änderungen im Master-Zweig unseren Wünschen entspricht, können wir den Inhalt von Qiang.txt bearbeiten und ändern zu dem, was wir wollen, und senden Sie es dann ab, wechseln Sie zum Wang-Zweig und führen Sie es dann zusammen. Verzweigen Sie einfach den Master-Zweig in den Wang-Zweig. Der Zweigname nach der Zusammenführung muss der neueste Zweig sein 4. Git branch –d wang //Zweig löschen 5. Wenn der Zweig nicht zusammengeführt wird, erzwingen Sie das Löschen Grundsätze zur Verwendung von Zweigen Der Master-Zweig ist sehr wichtig. Dieser Zweig wird nur bei der Online-Veröffentlichung von Code verwendet. Der Dev-Zweig wird speziell verwendet Für die Entwicklung wird der Dev-Zweig mit dem Master zusammengeführt, bevor wichtige Releases online gehen Entwickler sollten basierend auf Dev in persönliche Zweige verzweigen, Code im persönlichen Zweig entwickeln und ihn dann mit dem Dev-Zweig zusammenführenDer Befehl zum Zusammenführen des Bob-Zweigs im Entwicklungszweig lautet Git checkout dev //Wechseln Sie zuerst den Entwicklungszweig Git merge bob Reservieren Sie vor Ort Bearbeiten Sie wang.txt im Wang-Zweig und gehen Sie zum Zhi-Zweig, um den Fehler zu beheben. Sie müssen also wang.txt hinzufügen zuerst und dann git stash, um die Szene zu behalten Wechseln Sie dann zum Reparieren zum Zhi-Zweig. Wechseln Sie nach der Behebung des Fehlers zurück zum wang-Zweig Git-Stash-Liste, um die Szene anzuzeigen, die wir haben behalten habenGit stash apply zum Wiederherstellen der SzeneGit syash apply stash@{0} Auf der angegebenen Site wiederherstellen Remote-Zweig git remote –v //Informationen zur Remote-Bibliothek anzeigen git ls- remote origin//Remote-Zweig anzeigen Schieben Sie den lokalen Zweig-Wang zum Remote-Zweig-Wang und richten Sie eine ein Zuordnung a. Die Fernbedienung hat bereits den Wang-Zweig und wurde mit dem lokalen Zweig Wang verknüpft und der lokale Zweig wurde auf Wang umgestellt git pushb. Die Fernbedienung hat bereits den Wang-Zweig, ist aber nicht mit dem lokalen Zweig Wang verknüpft und der lokale Zweig wurde auf Wang umgestelltgit push -u origin /wangc Es gibt keinen Wang-Zweig aus der Ferne, und der lokale Zweig wurde auf Wang umgestelltgit push origin wang: wangLokalen Zweig löschengit branch –d|-D wangEntfernten Zweig löschengit push origin :wanggit branch -m | -M oldbranch newbranch Benennen Sie den Zweig um, der bereits vorhanden ist, Sie müssen - verwenden. M erzwingt eine Umbenennung, andernfalls verwenden Sie -m zum Umbenennen. Tag-VerwaltungDie Tag-Klasse basiert auf der Snapshot-Funktion. Sie übergibt ein Tag an eine Versionsbibliothek, um den Status zu einem bestimmten Zeitpunkt aufzuzeichnen Kann jederzeit wiederhergestellt werden alle Tags4. git log –-pretty=oneline –-abbrev-commit//Historische Commits anzeigen5. git tag v0.9 d03da//Historische Commits markieren 6. git tag –a –m „tag just v1.1“ d03da//Sie können das Tag beschreiben7 git tag –d v0.8 löschen Sie das Tag8 . git push origin v1.0//Push auf das angegebene Tag9. git push --tag origin//Push all tags10 Tags
11. Git-Push-Ursprung: refs/tags/v1.0 Remote-Tags löschen
Git-Server erstellen
1. Yum install git
2. Fügen Sie einen Git-Benutzer hinzu und setzen Sie die Shell auf /usr/bin/git-shell, um zu verhindern, dass sich Git-Benutzer remote anmelden
Useradd –s /usr/bin/git-shell
3. Cd /home/git
4. Authorized_keys-Datei erstellen, den Besitzer ändern, es ist eine kombinierte Berechtigung, die zum Speichern des öffentlichen Schlüssels auf dem Client-Computer verwendet wird
5. ssh
6. ssh-keygen //Verwenden Sie diesen Befehl, um ein Schlüsselpaar zu generieren
7 >/ home/git/.ssh/authorized_keys.
9. Chown –R git.ssh oder Chown 600 .ssh/authorized_keys
10. data/gitroot
Mkdir /data/gitroot
Cd /data/gitroot
11. Git init –bare sample.git //Das Bare Warehouse erstellen hat keinen Arbeitsbereich, weil der Server Das Git-Warehouse auf dem Server dient nur der Mitarbeit, daher ist es Benutzern nicht gestattet, sich beim Server anzumelden, um den Arbeitsbereich zu ändern, und das Git-Warehouse auf dem Server endet mit .git
12. Chown –R git.git sample.git
Die oben genannten Vorgänge werden auf dem Git-Server ausgeführt. Normalerweise erlaubt der Git-Server keine Anmeldung, um den Code zu ändern. Er fungiert nur als Server. Genau wie Github. Dies geschieht normalerweise auf unserem eigenen PC.
Klonen des Remote-Repositorys auf dem Client
Git clone git@ip:/data/gitroot/sample.git
Zu diesem Zeitpunkt können Sie das Beispielverzeichnis eingeben. Dies ist: Wir klonen das Remote-Repository. Geben Sie hier für die Entwicklung ein und drücken Sie dann auf die Fernbedienung