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 .
Empfohlene Studie: „Git Learning Tutorial“
Git-Partitionen umfassen Arbeitsbereich, Staging-Bereich, lokales Lager (lokale Versionsbibliothek), Remote-Warehouse (Remote-Versionsbibliothek).
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.
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.
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/.
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.
Das obige Bild beschreibt anschaulich die Betriebsbefehle zwischen verschiedenen Git-Partitionen.
2 Eine kurze Einführung in das .git/-Verzeichnis
config speichert die Konfigurationsinformationen des lokalen Lagers;
Ä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)
Li Si's Die E-Mail-Adresse ist offensichtlich nicht echt.
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.
Die Übermittlungs-E-Mail-Adresse des Gitee-Benutzers kann unter gitee->Persönliche Homepage->Persönliche Einstellungen->Postfachverwaltung festgelegt und angezeigt werden:
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"
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
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.
Wenn –global nicht hinzugefügt wird, wird nur die Benutzerkonfiguration des lokalen Warehouses festgelegt. Die Benutzerkonfigurationsinformationen des lokalen Warehouses werden gespeichert in: .git/config
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.
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).
Bevor wir den Staging-Bereich verwalten, müssen wir auch mehrere Status der Workspace-Dateien kennen:
---------------------------------------------- --- --------Das Bild unten stammt aus dem Internet-------------------------------- --------- -------------------
Mit dem Befehl git status kann der aktuelle Status der Workspace-Dateien überprüft werden:
#查看特定文件的状态 git status [filename]#查看所有文件状态 git status #精简的方式显示文件状态 git status -s
Überprüfen Sie zunächst den Status aller Dateien im Arbeitsbereich und stellen Sie fest, dass noch keine Dateien vorhanden sind:
现在创建3个文件,再次使用git status(-s表示精简显示),3个文件的状态为Untracked,??为精简显示下Untracked的标志,意思是新创的文件没有被本地仓库(版本库)跟踪。
git add [文件…] 可以添加一个或多个文件到暂存区,使文件状态变为Staged,A表示该文件被add到暂存区。
也可以使用 git add . 或 git add -A 将工作区所有文件添加到暂存库(除了.gitignore里声明的文件,本文暂不介绍)。
既然可以向暂存区添加文件,那么反向操作必然也不能少,git rm --cached [文件…] 命令可以将暂存区的文件移除,使其恢复到Untracked状态。
如果已经存入暂存区,但在文件提交到本地仓库前,我们对其进行了修改,那么它的状态将变为Modified。
对于Modified状态的文件,我们可以使用git add将修改后的版本加入到暂存区,也可以使用git checkout -- [file...]
将工作区的该文件恢复到暂存区的版本。
git add a.c重新添加a.c到暂存区:
下图为使用git checkout -- a.c
从暂存区恢复a.c文件,下图中我没有加 “ --”,它的作用是让checkout不检测任何其他选项参数,目的是防止该命令把a.c当做一个分支(checkout 还有一个作用是切换分支)。
对Modified状态下的文件使用 git diff 可以得出文件修改的详细记录,git diff和diff命令虽然作用都是对比文件,但git diff的作用是对比不同的状态下的同一文件,而diff用来对比两个不同的文件。
文件添加到暂存区的目的就是将其提交到本地仓库(版本库),提交命令为git commit -m “message”
我们可以在commit 后面添加文件,这样能指定提交的文件:
通过git log 可以查看提交记录,HEAD为本地仓库当前分支,指向主分支master:
直接使用 git commit -m “message” 可以将整个暂存区都提交到本地仓库:
#以一行的形式显示所有提交版本: git log --pretty=oneline
#一行显示,只显示哈希值的前7位: git log --oneline
#显示历史提交版本与当前版本的间隔数: git reflog
代码文件提交到本地仓库后,还需要推送到远程仓库进行托管。
我以码云为例,远程仓库的创建可以通过以下三步实现:
git remote add
如果要用https的方式上传代码,需要添加远程仓库https地址;用ssh上传代码,则url填远程仓库ssh地址。
Kopieren Sie zunächst die Warehouse-Adresse von der Code-Cloud-Warehouse-Homepage:
Ich habe den lokalen Alias des Remote-Warehouse-Ursprungs benannt:
Sie können mehrere Remote-Warehouses einrichten, solange die lokalen Aliase nicht in Konflikt stehen.
git remote -v Der Befehl kann die Remote-Warehouse-Adresse anzeigen, oder Sie können sie über git config -l anzeigen
git remote remove
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.
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.
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
[Hinweis]: Für das Klonen ist genau wie für Push ein Passwort erforderlich.
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 [
3. Ziehen Sie das Remote-Warehouse (Pull)
git pull ähnelt git fetch, aber git pull führt den Zweig des Remote-Warehouse automatisch zusammen lokaler aktueller Zweig.
Empfohlenes Lernen: „
Git-Video-Tutorial
“
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!