Heim >Entwicklungswerkzeuge >Idiot >Wie man in 20 Minuten die grundlegende Verwendung von Git versteht
Dieser Artikel vermittelt Ihnen grundlegende Kenntnisse über die Verwendung von Git, einschließlich grundlegender Operationen von Git, Verzweigungsoperationen, Änderungsübermittlungsoperationen usw. Ich hoffe, dass er für alle hilfreich ist.
Legen Sie den SSH-Schlüssel fest, damit das Gerät die Berechtigung hat, auf das Code-Repository im Konto zuzugreifen Stellen Sie es auf Ihren eigenen GitHub ein. Die registrierte E-Mail-Adresse des Kontos
"your_email@example.com"
设置为自己GitHub账户的注册邮箱$ ssh-keygen -t rsa -C "your_email@example.com"
ssh-rsa 公开密钥的内容 your_email@example.com
ssh-rsa
也拷贝下来接下来验证一下,出现successfully字样即为成功
$ cat ~/.ssh/id_rsa.pub
$ ssh -T git@github.com Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa': Hi abc! You've successfully authenticated, but GitHub does not provide shell access.
这里会要求输入 GitHub 上设置的空开密钥的密码,认证成功后,仓库便会被 clone 到当前目录中。
代码编写完成之后,将代码添加到系统的暂存区
$ git clone git@github.com:hirocastest/Hello-World.git
git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。
$ git add 文件夹/文件
之后只要执行 push
命令,GitHub 上的仓库就会被更新
$ git commit -m "记录一行提交信息"
clone
方法建立仓库,不需要执行 init
操作。如果要把本地文件设置为仓库,那么就需要进行 init 操作
$ git push
$ mkdir git-tutorial $ cd git-tutorial $ git init
结果现实,我们正处于 masteer 分支下,并且没有可提交的内容
git log
命令可以查看以往仓库中提交的日志。包括什么人在什么时候进行了提交或合并
$ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
只想现实提交信息的第一行,可以在 git log
命令后加上 -- pretty=short
$ git log commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD) Author: ywm <ywm_up@qq.com> Date: Sun Feb 28 17:17:00 2021 +0800
执行 git diff
查看当前工作书与暂存区的差别
$ git log --pretty=short
可以创建多个分支,同时进行完全不同的作业。等分支作业完成之后再与 master 分支合并。通过灵活运用分支,可以让多人同时高效的进行并发开发。
master 分支左侧有 “*”(星号),表示这是我们当前所在的分支。
$ git diff
创建并切换到分支 feature-A
$ git branch * master
实际上,上面那条命令,等价于下面两条命令
$ git checkout -b feature-A
切换回分支 mian
$ git branch feature-A $ git checkout feature-A
切换回上一个分支
$ git checkout main
通过实际操作可以证明:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发
合并时加上 --no–ff 参数,可以保存之前的分支历史
$ git checkout -
随后编辑器会启动,用于录入合并提交的信息
$ git merge --no-ff feature
$ git log --graph
通过 git reflog
$ git reset --hard 目标时间点的hash值ssh-rsa Der Inhalt des öffentlichen Schlüssels your_email@example.com
ssh-rsa
zu kopieren $ git reflogHier werden Sie aufgefordert, das Passwort des auf GitHub festgelegten offenen Schlüssels einzugeben. Nach erfolgreicher Authentifizierung wird das Warehouse in das aktuelle Verzeichnis geklont.
$ git commit --amend
git rebase -i HEAD~2m stellt eine Übersicht dieser Übermittlung dar. Wenn Sie detaillierte Informationen aufzeichnen möchten, entfernen Sie das -m
2.4 Führen Sie nach Git Push
einfach den Befehl push
und das Warehouse aus auf GitHub wird aktualisiert
$ git remote add origin git@github.com:github-book/git-tutorial.git🎜2.5 git init initialisiert das Warehouse🎜🎜
clone
-Methode zum Erstellen eines Warehouses, es ist kein init
-Vorgang erforderlich. Wenn Sie eine lokale Datei als Warehouse festlegen möchten, müssen Sie einen Init-Vorgang ausführen 🎜🎜2.7 git log zum Anzeigen des Übermittlungsprotokolls🎜🎜Der Befehl git log
kann in früheren Lagern übermittelte Protokolle anzeigen. Einschließlich wer zu welchem Zeitpunkt den Commit oder die Zusammenführung vorgenommen hat🎜$ git push -u origin master🎜Wenn Sie nur die erste Zeile der Commit-Informationen anzeigen möchten, können Sie
-- Pretty=short
nach dem git log hinzufügen. code> Befehl >🎜<pre class="brush:php;toolbar:false">$ git checkout -b feature-D
$ git push -u origin feature-D</pre>🎜2.8 git diff Überprüfen Sie den Unterschied vor und nach der Änderung🎜🎜Führen Sie <code>git diff
aus, um den Unterschied zwischen der aktuellen Arbeitsmappe und dem Staging-Bereich zu überprüfen🎜$ git clone git仓库地址🎜🎜3 Betrieb🎜🎜🎜Sie können mehrere Zweige erstellen und völlig unterschiedliche Aufgaben gleichzeitig ausführen. Warten Sie, bis der Zweigauftrag abgeschlossen ist, bevor Sie ihn mit dem Hauptzweig zusammenführen. Durch die flexible Nutzung von Branches können mehrere Personen gleichzeitig effizient gleichzeitig entwickeln. 🎜🎜3.1 Git-Zweig zeigt die Zweigliste an🎜🎜Auf der linken Seite des Hauptzweigs befindet sich ein „*“ (Sternchen), das anzeigt, dass dies der Zweig ist, in dem wir uns gerade befinden. 🎜
$ git pull origin feature-D🎜3.2 git checkout Zweige erstellen und wechseln🎜🎜Verzweigungsfunktion erstellen und wechseln-A🎜rrreee🎜Tatsächlich entspricht der obige Befehl den folgenden beiden Befehlen🎜rrreee🎜Zurück zum Zweig mian wechseln🎜rrreee🎜Zurückschalten Betrieb der vorherige Zweig🎜rrreee🎜🎜: Erstellen Sie eine neue Zweigfunktion, ändern Sie README.md im neuen Zweig, fügen Sie sie hinzu und schreiben Sie sie fest🎜🎜🎜Dies kann durch tatsächliche Vorgänge bewiesen werden: Solange Sie mehrere Zweige erstellen, können Sie mehrere entwickeln Funktionen gleichzeitig und beeinflussen sich gegenseitig🎜🎜3.3 git merge branchs zusammenführen🎜🎜Fügen Sie beim Zusammenführen den Parameter --no–ff hinzu, um den vorherigen Zweigverlauf zu speichern🎜rrreee🎜Dann startet der Editor für die Eingabe von Merge-Commit-Informationen🎜🎜3.4 git log --graph Zweige als Symbole anzeigen🎜rrreee🎜🎜4. Commit-Vorgänge ändern🎜🎜🎜4.1 git reset Zurück zu historischen Versionen🎜rrreee🎜über
git reflog
Überprüfen Sie das Betriebsprotokoll des aktuellen Warehouse um den Hash-Wert vor dem Backtracking-Verlauf zu finden. Solange Gits GC (Garbage Collection) nicht ausgeführt wird, kann der aktuelle historische Status nach Belieben über das Protokoll abgerufen werden. Selbst wenn der Entwickler versehentlich eine Git-Operation ausführt, kann er grundsätzlich den Befehl git reflog verwenden, um den ursprünglichen Zustand wiederherzustellen. 🎜rrreee🎜Der letzte Vorgang wird oben gedruckt, der älteste Vorgang wird unten gedruckt Der Konflikt🎜🎜 In der tatsächlichen Entwicklung muss häufig einer davon gelöscht werden. Analysieren Sie daher sorgfältig den Inhalt des widersprüchlichen Teils, bevor Sie Änderungen vornehmen. Führen Sie nach der Lösung des Konflikts Add- und Commit-Vorgänge durch Die vorherigen Übermittlungsinformationen können mithilfe des Amend-Parameters geändert werden Fügen Sie diese Änderung in die vorherige Einreichung ein, komprimiert in einem historischen Datensatz. 🎜rrreee🎜Sie können einen Zeitplan auswählen, der auf die beiden neuesten historischen Datensätze einschließlich HEAD im Zweig abzielt, und ihn im Editor öffnen🎜在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
推送至 master 分支
$ git push -u origin master
-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦
除了 master 分支之外,还可以推送到其他分支
$ git checkout -b feature-D $ git push -u origin feature-D
$ git clone git仓库地址
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
推荐学习:《Git教程》
Das obige ist der detaillierte Inhalt vonWie man in 20 Minuten die grundlegende Verwendung von Git versteht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!