Heim > Entwicklungswerkzeuge > Idiot > Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

WBOY
Freigeben: 2022-04-07 13:31:33
nach vorne
3811 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über Git, der hauptsächlich die grundlegenden Arbeitsprinzipien von Git und Tutorials für Einsteiger vorstellt und Anfängern hilft, schnell mit Git zu beginnen, indem sie mit lokalen Git-Warehouses spielen. Ich hoffe, dass es für alle hilfreich ist .

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Empfohlene Studie: „Git Learning Tutorial

1. Partition und Workflow

1. Git-Partition

Git-Partitionen umfassen Arbeitsbereich, Staging-Bereich, lokales Lager (lokale Versionsbibliothek), Remote-Warehouse (Remote-Versionsbibliothek).

  1. Arbeitsbereich
    Der Arbeitsbereich ist das Verzeichnis, in dem sich der lokale Code befindet, und es ist auch das Verzeichnis, in dem .git/ (lokales Lager) gespeichert ist.

  2. Staging-Bereich
    Der Staging-Bereich (Index/Stage) ist der Cache-Bereich des Arbeitsbereichs und des lokalen Warehouse, in dem die Dateiänderungsinformationen aufgezeichnet werden, die an das lokale Warehouse (Versionsbibliothek) übermittelt werden .git/-Verzeichnis Die Indexdatei ist der temporäre Speicherbereich.

  3. Lokales Warehouse
    Das lokale Warehouse (Repository) wird auch als lokale Bibliothek oder Versionsbibliothek bezeichnet. Es speichert alle lokalen Versionen (Commit-Übermittlungsdatensätze) im Verzeichnis .git/.

  4. Remote Warehouse (Remote) Im Internet können GitHub, Gitee und GitLab Remote Warehouses erstellen, aber diese Versionen können aus mehreren Quellen stammen lokales Lager.

  5. 2. Arbeitsablauf

----------- ----- ---------------Das Bild unten stammt aus dem Internet----------------------- ----------- -----------


Eingehende Analyse der grundlegenden Arbeitsprinzipien von GitDas obige Bild beschreibt anschaulich die Betriebsbefehle zwischen verschiedenen Git-Partitionen.

Wenn Sie die Code-Upload-Funktion implementieren möchten, verwenden Sie „Hinzufügen“ im Arbeitsbereich, um Dateien zum temporären Speicherbereich hinzuzufügen. Der temporäre Speicherbereich sendet die Version dann per „Commit“ an das lokale Warehouse Schieben Sie die Version in das Remote-Warehouse.
  • Workspace-Änderung Die Dateien können über den Checkout-Befehl aus dem lokalen Warehouse oder Staging-Bereich wiederhergestellt werden, wenn Sie den Code einer Verzweigung im Workspace auf die neueste Version des Remote-Warehouse aktualisieren möchten , Sie können den Pull-Befehl verwenden;
  • Verwenden Sie clone im Remote-Warehouse, um den Hauptzweig des Remote-Warehouse zu kopieren. In das lokale Repository ähnelt der Fetch-Befehl dem Pull-Befehl, mit der Ausnahme, dass Pull den lokalen Code zusammenführt, während Fetch dies tut Laden Sie nur die neueste Version in das lokale Repository, unabhängig davon, ob es neue Ergänzungen zum lokalen Repository gibt.
  • 2. Lokale Warehouse-Initialisierung

1. Das lokale Warehouse (Versionsbibliothek) muss mit dem Befehl git init erstellt werden (Sie können es auch direkt aus dem Remote-Warehouse klonen, was später vorgestellt wird). .

Geben Sie den Arbeitsbereich (Codespeicherverzeichnis) ein, geben Sie git init ein. Git erstellt ein neues .git/-Verzeichnis im Arbeitsbereich:


2 Eine kurze Einführung in das .git/-Verzeichnis
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

In einem neu erstellten Verzeichnis .git/-Verzeichnis, es gibt 3 Textdateien:

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Gitconfig speichert die Konfigurationsinformationen des lokalen Lagers;

description wird verwendet, um den Namen des Lagers zu beschreiben;
  • HEAD ist der aktuelle Zweig des lokalen Lagers Der Standardwert ist „master“ und zeigt auf „refs/heads/master“. Es ist ersichtlich, dass das Verzeichnis „refs/“ hauptsächlich einige Zweiginformationen speichert.
  • Später, wenn das lokale Lager betrieben wird, werden andere Dateien generiert, z. B. „logs/“; Speichern übermittelter Datensätze, Index – temporärer Speicherbereich.
【Hinweis】

Ändern Sie die Dateien in .git/ niemals manuell, da dies die Struktur des lokalen Lagers beschädigen und negative Folgen haben kann.

3. Konfiguration der Benutzerinformationen und E-Mail-Adresse bestehen hier nicht in direkter Beziehung zum Konto der Hosting-Plattform (z. B. Gitee). Ihre einzige Funktion besteht darin, andere Benutzer oder die Hosting-Plattform über die Uploader-Informationen des Codes zu informieren Dies führt dazu, dass der Code nicht hochgeladen werden kann.

Zum Beispiel habe ich unten den Code mit „Zhang San“ und „Li Si“ hochgeladen. Die E-Mail-Adresse ist nicht echt, aber der Upload kann trotzdem erfolgreich sein: (Es gab einen Fehler in den Commit-Informationen)
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Li Si's Die E-Mail-Adresse ist offensichtlich nicht echt.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Da die E-Mail-Adressen von „Zhang San“ und „Li Si“ nicht an Gitee-Konten gebunden sind, werden die Benutzerinformationen nicht angezeigt, wenn Sie auf deren Avatare klicken, wenn die E-Mail-Adresse des Gitee-Kontos ausgefüllt ist In der Benutzerkonfiguration können Sie auf Gitee klicken und die Kontoinformationen des Uploaders anzeigen.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Die Übermittlungs-E-Mail-Adresse des Gitee-Benutzers kann unter gitee->Persönliche Homepage->Persönliche Einstellungen->Postfachverwaltung festgelegt und angezeigt werden:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

2. Verwenden Sie git config, um Benutzerinformationen zu konfigurieren

Haben Ich habe so viel gesagt, was Sie über Benutzernamen und E-Mail-Adresse beachten sollten. Tatsächlich ist die Konfiguration der Benutzerinformationen sehr einfach:

git config --global user.name "your name"git config --global user.email "your email"
Nach dem Login kopieren

Benutzername, gefolgt von Benutzername, geben Sie ein, was Sie möchten.
user.email gefolgt von der E-Mail-Adresse des Benutzers, geben Sie ein, was Sie möchten.
–global wird zum Konfigurieren globaler Eigenschaften verwendet
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Beim Senden von Code an das lokale Warehouse ruft Git zunächst die .git/config-Datei des lokalen Warehouse ab. Wenn keine Benutzerinformationen vorhanden sind, wird die globale Konfigurationsdatei verwendet (. nach dem Proximitätsprinzip).

Die globale Konfigurationsdatei wird im Systembenutzerverzeichnis/Benutzername/.gitconfig gespeichert, das nur das Benutzerattribut hat.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Wenn –global nicht hinzugefügt wird, wird nur die Benutzerkonfiguration des lokalen Warehouses festgelegt. Die Benutzerkonfigurationsinformationen des lokalen Warehouses werden gespeichert in: .git/config
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Im obigen Bild habe ich nur den Benutzernamen festgelegt Wenn Sie die Änderung zu diesem Zeitpunkt übermitteln, gehen Sie zum lokalen Lager und verwenden Sie die lokale Konfiguration für den Benutzernamen im Übermittlungsdatensatz (Bild unten). Da das Benutzerpostfach nicht lokal konfiguriert ist, verwendet das Postfach weiterhin Postfach, das in der globalen Konfiguration angegeben ist.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

4. Staging-Bereichsdateien verwalten

Nachdem wir die Benutzerinformationen konfiguriert haben, können wir über die Übermittlung von Code nachdenken, aber manchmal möchten wir nicht die gesamten Arbeitsbereichsdateien an das lokale Warehouse (Versionsbibliothek) übermitteln. Das Vorhandensein des temporären Speicherbereichs (Index/Stufe) löst dieses Problem. Wir können die Codedatei zunächst zum temporären Speicherbereich hinzufügen. Wenn wir der Meinung sind, dass sie geändert werden muss, können wir die Datei aus dem temporären Speicher löschen Bereich, bis wir das Gefühl haben, dass die Datei ausgewählt ist. Wenn Sie fast fertig sind, fahren Sie mit dem nächsten Schritt fort (Senden an das lokale Lager).

1. Git-Dateistatus

Bevor wir den Staging-Bereich verwalten, müssen wir auch mehrere Status der Workspace-Dateien kennen:

  • Untracked Untracked, keine Dateien im Staging-Bereich wurden dem Workspace hinzugefügt, keine Teilnahme in der Versionskontrolle;
  • Unverändert Unverändert, zur Versionskontrolle hinzugefügt, aber identisch mit dem Snapshot der Datei im Repository
  • Geändert Geändert, zur Versionskontrolle hinzugefügt und anders als der Snapshot, als er zuletzt erstellt wurde zum Repository hinzugefügt;
  • Staged wurde bereitgestellt und kann im nächsten Schritt an das lokale Warehouse (Versionsbibliothek) übermittelt werden.

---------------------------------------------- --- --------Das Bild unten stammt aus dem Internet-------------------------------- --------- -------------------
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Mit dem Befehl git status kann der aktuelle Status der Workspace-Dateien überprüft werden:

#查看特定文件的状态
git status [filename]#查看所有文件状态
git status

#精简的方式显示文件状态
git status -s
Nach dem Login kopieren

2. Dateien zum Staging-Bereich hinzufügen

Überprüfen Sie zunächst den Status aller Dateien im Arbeitsbereich und stellen Sie fest, dass noch keine Dateien vorhanden sind:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

现在创建3个文件,再次使用git status(-s表示精简显示),3个文件的状态为Untracked,??为精简显示下Untracked的标志,意思是新创的文件没有被本地仓库(版本库)跟踪。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
git add [文件…] 可以添加一个或多个文件到暂存区,使文件状态变为Staged,A表示该文件被add到暂存区。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
也可以使用 git add . 或 git add -A 将工作区所有文件添加到暂存库(除了.gitignore里声明的文件,本文暂不介绍)。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

3. 删除暂存区的文件

既然可以向暂存区添加文件,那么反向操作必然也不能少,git rm --cached [文件…] 命令可以将暂存区的文件移除,使其恢复到Untracked状态。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

4. 文件修改管理

如果已经存入暂存区,但在文件提交到本地仓库前,我们对其进行了修改,那么它的状态将变为Modified。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
对于Modified状态的文件,我们可以使用git add将修改后的版本加入到暂存区,也可以使用git checkout -- [file...]将工作区的该文件恢复到暂存区的版本。

git add a.c重新添加a.c到暂存区:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
下图为使用git checkout -- a.c从暂存区恢复a.c文件,下图中我没有加 “ --”,它的作用是让checkout不检测任何其他选项参数,目的是防止该命令把a.c当做一个分支(checkout 还有一个作用是切换分支)。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
对Modified状态下的文件使用 git diff 可以得出文件修改的详细记录,git diff和diff命令虽然作用都是对比文件,但git diff的作用是对比不同的状态下的同一文件,而diff用来对比两个不同的文件。
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

五、提交文件到本地仓库

文件添加到暂存区的目的就是将其提交到本地仓库(版本库),提交命令为git commit -m “message”

我们可以在commit 后面添加文件,这样能指定提交的文件:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
通过git log 可以查看提交记录,HEAD为本地仓库当前分支,指向主分支master:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
直接使用 git commit -m “message” 可以将整个暂存区都提交到本地仓库:

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

#以一行的形式显示所有提交版本:
git log --pretty=oneline
Nach dem Login kopieren

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

#一行显示,只显示哈希值的前7位:
git log --oneline
Nach dem Login kopieren

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

#显示历史提交版本与当前版本的间隔数:
git reflog
Nach dem Login kopieren

Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

六、推送到远程仓库

代码文件提交到本地仓库后,还需要推送到远程仓库进行托管。

1. 创建远程仓库

我以码云为例,远程仓库的创建可以通过以下三步实现:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

2. 添加远程仓库地址

git remote add 命令可以添加远程仓库,name为远程仓库地址的别名,自定义,url为仓库网络地址。
如果要用https的方式上传代码,需要添加远程仓库https地址;用ssh上传代码,则url填远程仓库ssh地址。

Kopieren Sie zunächst die Warehouse-Adresse von der Code-Cloud-Warehouse-Homepage:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Ich habe den lokalen Alias ​​des Remote-Warehouse-Ursprungs benannt:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Sie können mehrere Remote-Warehouses einrichten, solange die lokalen Aliase nicht in Konflikt stehen.

3. Zeigen Sie die Remote-Warehouse-Adresse an

git remote -v Der Befehl kann die Remote-Warehouse-Adresse anzeigen, oder Sie können sie über git config -l anzeigen
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

4. Löschen Sie die Remote-Warehouse-Adresse

git remote remove Sie können die Remote-Adresse mit dem lokalen Aliasnamen löschen:
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

5. Push an das Remote-Warehouse

Bestätigen Sie zunächst den Alias, der der https-Protokolladresse entspricht Das Remote-Warehouse, das ich derzeit festgelegt habe, ist https, und die SSH-Protokolladresse entspricht. Der Alias ​​ist ssh. Diese beiden Adressen sind eigentlich ein Warehouse, aber die Protokolle sind unterschiedlich.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

https-Upload

git-Push-Name ist der Alias ​​des Remote-Warehouses in der Konfigurationsdatei. Sie müssen das Konto und das Passwort eingeben. Das Windows-System speichert das Konto und das Passwort automatisch. Wenn Sie den von Windows gespeicherten Benutzernamen und das Passwort ändern möchten, lesen Sie den Abschnitt „Ändern der Gitee-Anmeldeinformationen“.
Manchmal ist der erste Upload erfolglos. Sie können versuchen, git push -u name master zu verwenden. Die Funktion dieses Befehls besteht darin, den Hauptzweig des Name Warehouse als Upstream-Zweig zu verwenden der gleiche Effekt.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

SSH-Upload

Wenn Sie SSH zum Hochladen verwenden möchten, müssen Sie zunächst einen SSH-Schlüssel generieren und den öffentlichen Schlüssel in den SSH-Einstellungen für öffentliche Schlüssel der persönlichen Gitee-Einstellungen für den spezifischen Vorgang speichern , siehe: Generieren des SSH-Schlüssels zum Implementieren des Code-Uploads


Manchmal ist der erste Upload erfolglos. Sie können versuchen, git push -u name master zu verwenden. Die Funktion dieses Befehls besteht darin, den Hauptzweig des Name Warehouse zu verwenden wie der Upstream-Zweig. -u und –set- upstream haben den gleichen Effekt. 7. Klonen, Abrufen oder Ziehen aus dem Remote-Warehouse zur gleichen Zeit. Öffnen Sie Git Bash in einem beliebigen Verzeichnis, geben Sie git clone ein, repo ist die Remote-Warehouse-URL, dir ist der Speicherpfad des Klon-Warehouses (Sie müssen ihn nicht im Voraus erstellen). , wenn nicht ausgefüllt, ist der Standardwert der Name des Remote-Repositorys (nicht der lokale Alias).
[Hinweis]Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git: Für das Klonen ist genau wie für Push ein Passwort erforderlich.
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Geben Sie nach erfolgreichem Klonen das Warehouse-Verzeichnis ein, das beim Hochladen genau mit dem Arbeitsbereich übereinstimmt, und auch das Übermittlungsprotokoll ist dasselbe.

2. Holen Sie sich das Remote-Warehouse (Abruf)


Die Funktion von Git Fetch besteht darin, den Zweig des Remote-Warehouses in den lokalen Warehouse zu kopieren und die neueste Version im FETCH_HEAD-Zweig zu speichern. Sie müssen es manuell mit dem aktuellen Zweig zusammenführen.
Befehlsformat: git fetch [], Repository ist die Netzwerkadresse des Remote-Warehouse. git merge wird zum Zusammenführen von Zweigen verwendet
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git
3. Ziehen Sie das Remote-Warehouse (Pull)
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Gitgit pull ähnelt git fetch, aber git pull führt den Zweig des Remote-Warehouse automatisch zusammen lokaler aktueller Zweig.


Empfohlenes Lernen: „
Git-Video-Tutorial
Eingehende Analyse der grundlegenden Arbeitsprinzipien von Git

Das obige ist der detaillierte Inhalt vonEingehende Analyse der grundlegenden Arbeitsprinzipien von Git. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
git
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage