Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Wie man in 20 Minuten die grundlegende Verwendung von Git versteht

Wie man in 20 Minuten die grundlegende Verwendung von Git versteht

WBOY
WBOYnach vorne
2022-01-05 17:36:571617Durchsuche

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.

Wie man in 20 Minuten die grundlegende Verwendung von Git versteht

1. Legen Sie den SSH-Schlüssel fest

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

    Die Datei id_rsa ist der private Schlüssel und id_rsa.pub ist der öffentliche Schlüssel.
  • "your_email@example.com" 设置为自己GitHub账户的注册邮箱
  • id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。
$ ssh-keygen -t rsa -C "your_email@example.com"

ssh-rsa 公开密钥的内容 your_email@example.com

  • 然后把公钥拷贝下来,添加到账户里面,注意要把前面的 ssh-rsa 也拷贝下来
  • 头像》Settings》SSH Key》new SSH Key

接下来验证一下,出现successfully字样即为成功

$ cat ~/.ssh/id_rsa.pub

2. git 基本操作

2.1 git clone 已有仓库

$ 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 到当前目录中。

2.2 git add 将文件加入暂存区

代码编写完成之后,将代码添加到系统的暂存区

$ git clone git@github.com:hirocastest/Hello-World.git

2.3 git commit 保存仓库的历史记录

git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。

$ git add 文件夹/文件
  • m 表示对这个提交的概述,如果想要记录详细信息,就把 - m 去掉

2.4 git push

之后只要执行 push 命令,GitHub 上的仓库就会被更新

$ git commit -m "记录一行提交信息"

2.5 git init 初始化仓库

clone 方法建立仓库,不需要执行 init 操作。如果要把本地文件设置为仓库,那么就需要进行 init 操作

$ git push

2.6 git status 查看仓库状态

$ mkdir git-tutorial

$ cd git-tutorial

$ git init

结果现实,我们正处于 masteer 分支下,并且没有可提交的内容

2.7 git log 查看提交日志

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

2.8 git diff 查看更改前后的差别

执行 git diff 查看当前工作书与暂存区的差别

$ git log --pretty=short

3. 分支操作

可以创建多个分支,同时进行完全不同的作业。等分支作业完成之后再与 master 分支合并。通过灵活运用分支,可以让多人同时高效的进行并发开发。

3.1 git branch 显示分支一览表

master 分支左侧有 “*”(星号),表示这是我们当前所在的分支。

$ git diff

3.2 git checkout 创建、切换分支

创建并切换到分支 feature-A

$ git branch
* master

实际上,上面那条命令,等价于下面两条命令

$ git checkout -b feature-A

切换回分支 mian

$ git branch feature-A

$ git checkout feature-A

切换回上一个分支

$ git checkout main
  • 操作一下:创建一个新的分支 feature,在新的分支上修改 README.md,并且 add、commit

通过实际操作可以证明:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发

3.3 git merge 合并分支

合并时加上 --no–ff 参数,可以保存之前的分支历史

$ git checkout -

随后编辑器会启动,用于录入合并提交的信息

3.4 git log --graph 以图标的形式查看分支

$ git merge --no-ff feature

4. 更改提交的操作

4.1 git reset 回溯历史版本

$ git log --graph

通过 git reflog

$ git reset --hard 目标时间点的hash值
ssh-rsa Der Inhalt des öffentlichen Schlüssels your_email@example.com

Dann kopieren Sie den öffentlichen Schlüssel und fügen Sie ihn dem Konto hinzu. Achten Sie darauf, auch den vorherigen ssh-rsa zu kopieren

    Avatar, Einstellungen, SSH-Schlüssel, neuer SSH-Schlüssel Warehouse
  • $ git reflog
    Hier werden Sie aufgefordert, das Passwort des auf GitHub festgelegten offenen Schlüssels einzugeben. Nach erfolgreicher Authentifizierung wird das Warehouse in das aktuelle Verzeichnis geklont.
  • 2.2 git add Fügen Sie die Datei zum Staging-Bereich hinzu
  • Nachdem der Code geschrieben wurde, fügen Sie den Code zum Staging-Bereich des Systems hinzu
    $ git commit --amend
  • 2.3 git commit Speichern Sie den Verlauf des Lagers
  • Der Befehl git commit kann den aktuellen hinzufügen Staging-Bereich in den Staging-Bereich verschieben. Die Dateien werden tatsächlich im Verlauf des Repositorys gespeichert. Mithilfe dieser Datensätze können wir Dateien im Arbeitsbaum wiederherstellen.
git rebase -i HEAD~2

m 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=shortnach 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🎜

5 推送至远程仓库

5.1 git remote add 添加远程仓库

在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。

git remote 在先写代码,后创建仓库的情况下能较好的使用

$ git remote add origin git@github.com:github-book/git-tutorial.git

对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改

5.2 git push 推送至远程仓库

推送至 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

6 从远程仓库中获取

6.1 git clone 获取远程仓库

$ git clone git仓库地址

将本地的 feature-D 分支更新到最新状态

$ git pull origin feature-D
  • 多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁的进行 push 和 pull 操作

推荐学习:《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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen