Heim  >  Artikel  >  Backend-Entwicklung  >  Allgemeine Git-bezogene Kenntnisse und Befehle

Allgemeine Git-bezogene Kenntnisse und Befehle

巴扎黑
巴扎黑Original
2016-11-07 10:16:351032Durchsuche

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.txt

3.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

Zweigverwaltung

Git-Zweig Zweig anzeigen

Git-Zweig wang Zweig erstellen

git checkout wang Wang-Zweig wechseln

Zweig zusammenführen

Git Merge Wang //Wang-Zweig mit Master zusammenführen

Häufige Zusammenführungsprobleme

1. 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ühren

Der 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 haben

Git stash apply zum Wiederherstellen der Szene

Git 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 push

b. Die Fernbedienung hat bereits den Wang-Zweig, ist aber nicht mit dem lokalen Zweig Wang verknüpft und der lokale Zweig wurde auf Wang umgestellt

git push -u origin /wang

c Es gibt keinen Wang-Zweig aus der Ferne, und der lokale Zweig wurde auf Wang umgestellt

git push origin wang: wang

Lokalen Zweig löschen

git branch –d|-D wang

Entfernten Zweig löschen

git push origin :wang

git 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-Verwaltung

Die 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 Tags

4. git log –-pretty=oneline –-abbrev-commit//Historische Commits anzeigen

5. git tag v0.9 d03da//Historische Commits markieren

6. git tag –a –m „tag just v1.1“ d03da//Sie können das Tag beschreiben

7 git tag –d v0.8 löschen Sie das Tag

8 . git push origin v1.0//Push auf das angegebene Tag

9. git push --tag origin//Push all tags

10 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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn