Cet article vous apporte des connaissances pertinentes sur Git. Il résume principalement les commandes d'exploitation couramment utilisées de git à travers des cas et des analyses. Git est un système de contrôle de version distribué open source pour un traitement agile et efficace de tous les projets, petits ou grands. j'espère que cela aide.
Apprentissage recommandé : "Tutoriel Git"
Git est un système de contrôle de version distribué open source utilisé pour gérer tout projet, petit ou grand, de manière agile et efficace. outil de gestion de versions le plus populaire.
SVN est un système de contrôle de version centralisé. La bibliothèque de versions est centralisée sur le serveur central, et lorsque vous travaillez, vous devez d'abord le faire. obtenez la dernière version du serveur central, puis effectuez le travail. Une fois le travail terminé, vous devez transférer le travail que vous avez effectué vers le serveur central. Le système de contrôle de version centralisé doit être connecté à Internet pour fonctionner. S'il est sur un réseau local, ce n'est pas grave, la bande passante est suffisamment grande et la vitesse est suffisamment rapide. S'il est sur Internet, si le réseau. la vitesse est lente, ce sera déroutant.
Git est un système de contrôle de versions distribué, il n'a donc pas de serveur central. L'ordinateur de chacun est une bibliothèque de versions complète. De cette façon, vous n'avez pas besoin d'être connecté à Internet lorsque vous travaillez, car les versions sont toutes. sur votre propre ordinateur supérieur. Puisque l’ordinateur de chacun dispose d’une bibliothèque de versions complète, comment plusieurs personnes peuvent-elles collaborer ? Par exemple, si vous avez modifié le fichier A sur votre ordinateur et que quelqu'un d'autre a également modifié le fichier A sur votre ordinateur, il vous suffit de transmettre vos modifications les unes aux autres et vous pouvez voir les modifications de chacun.
Git a d'abord été développé sous Linux Pendant longtemps, Git ne pouvait fonctionner que sur les systèmes Linux et Unix. Cependant, peu à peu, quelqu'un l'a porté sur Windows. Désormais, Git peut fonctionner normalement sur les principales plates-formes Linux, Unix, Mac et Windows.
pour l'utiliserGit
,第一步当然是安装Git
. Téléchargez-le depuis https://git-for-windows.github.io (si la vitesse Internet est lente, veuillez passer au miroir domestique), puis installez-le selon les options par défaut.
Une fois le téléchargement terminé, ouvrez-le pour l'installation (configurez selon l'image ci-dessous).
Ensuite, il vous suffit d'attendre tranquillement que l'installation soit terminée Une fois terminée, faites un clic droit sur un espace vide du bureau ou n'importe quel dossier, et les deux images ci-dessous apparaîtront. La barre de menu indique que l'installation est réussie.
Après l'installation, une boîte de commande apparaîtra. Nous devons encore faire la dernière étape, définir l'identifiant. Puisque git est un outil de gestion distribué, vous devez définir le nom d'utilisateur et l'adresse e-mail comme identification. Entrez simplement le code suivant dans la boîte de dialogue contextuelle.
git config --global user.name "Your Name"git config --global user.email "email@example.com"
Remarque : git config --global paramètre. Avec ce paramètre, cela signifie que tous les référentiels Git sur votre machine utiliseront cette configuration. Bien sûr, vous pouvez également spécifier différents noms d'utilisateur et paramètres pour un certain référentiel. . Mail.
Avant d'utiliser Git, vous devez d'abord créer un référentiel Git et créer un dossier vide là où vous en avez besoin. Entrez ensuite le dossier, cliquez avec le bouton droit sur l'espace vide et cliquez sur Git Bash Here pour effectuer des opérations Git sur le dossier actuel.
git init
cd:进入某个目录 mkdir:创建一个文件 pwd:显示当前的目录路径 鼠标选中就是复制,粘贴可以右键粘贴,也可以用使用快捷键:Shift+INS
git add a.txt
git add .
git commit -m "双引号里面是注释——你的提交说明"
原因:commit
可以一次提交很多文件,所以你可以多次add
不同的文件
例如:
git add file1.txt #单个添加文件到暂存区git add file2.txt file3.txt #多个添加文件到暂存区git add . #添加当前文件夹下所有文件到暂存区git commit -m "add 3 files." #提交所有暂存区的文件
使用下面命令检查当前文件状态
git status
结果:没有需要提交的文件了;
创建一个新的文件 b.txt,内容为 bbb,再来检查文件状态
结果:存在未跟踪文件没有添加到暂存区和提交到版本库;
添加 b.txt 到暂存区之后,再来检查文件状态
结果:暂存区中有一个新的 b.txt 文件没有添加到版本库中;
提交 b.txt 到版本库之后,然后把 b.txt 内容从 bbb 修改为 bbba,再来检查文件状态
结果:被改变的文件 b.txt 没有添加到暂存区且没有提交
git add b.txtgit commit -m "提交修改的 b.txt 文件"
git log
注意:使用上面命令信息多的话会进入 log 模式,想要退出,在英文输入法的前提下按 q 就可以退出了
git log --pretty=oneline
git log -1
git log #查看全部历史提交记录git log --pretty=oneline #精简显示所有历史提交记录git reflog #可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)git log -p #查看全部提交历史并展示每次修改的内容git log -2 #查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)git log -p -2 #查看最近2次提交历史并展示修改的内容git log --stat #查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)
Git
必须知道当前版本是哪个版本,在Git
中,用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
。git reset --hard HEAD^
git reset --hard
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b
结果:从查看的历史版本结果可以看出我们回退到了 “提交 a.txt” 版本
git reflog
结果:reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset --hard 7a42e7b
结果:历史版本信息可以看出我们已经回退到了我们想要的版本
例如:我们把 b.txt 文件内容修改为为 bbbaaa,然后用下面代码查看,可以看出我们修改了什么
git diff # 查看不同版本之间的文件差异
推荐使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit
注意:建议每次 commit 之前先检查是否有文件没有被 add
git checkout -- filename
git checkout -- filename
可以丢弃工作区的修改:– 后面是一个空格
命令 git checkout -- readme.txt
意思就是,把 readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一:readme.txt
自修改后还没有被放到暂存区(git add
),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit
或 git add
时的状态。
注意:git checkout -- file
命令中的 --
很重要,没有 --
,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout
命令
通常直接在文件管理器中把没用的文件删了,或者用rm
命令删除,例如:删除 b.txt
git rm b.txt
删除步骤
git rm b.txt --cached
b.txt 处于未跟踪状态,也就是从暂存区删除。
特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。
所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引),当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。
rm .git/index
git branch #查看分支 git branch <name> #创建分支git checkout <name> #切换分支git checkout -b <name> #创建 + 切换分支git merge <name> #将某分支合并到当前分支git branch -d <name> #删除分支</name></name></name></name></name>
命令 | 作用 |
---|---|
git config --global user.name “Your Name” | 设置用户名 |
git config --global user.email “email@example.com” | 设置邮箱 |
2. 初始化命令
命令 | 作用 |
---|---|
git init | 初始化 git,创建 .git 文件 |
3. 常用命令
命令 | 作用 |
---|---|
cd | 进入某个目录 |
mkdir | 创建一个文件 |
pwd | 显示当前的目录路径 |
鼠标选中就是复制 | 复制 |
直接鼠标右键粘贴 / 快捷键:Shift+INS | 粘贴 |
4. 添加到暂存区
命令 | 作用 |
---|---|
git add a.txt | 添加 a.txt 到暂存区 |
git add . | 添加当前根目录下的所有文件到暂存区 |
git commit -m “双引号里面是注释——你的提交说明” | 把暂存区的文件提交到版本库(一次全部提交) |
5. 查看文件状态
命令 | 作用 |
---|---|
git status | 查看文件状态(检查是否有未提交文件) |
6. Afficher l'historique des commits
Command | Fonction |
---|---|
git log | Afficher tout l'historique des commits |
git log -- pre tty=oneline | Affichage simplifié de tous les enregistrements de validation historiques |
git reflog | Vous pouvez afficher tous les enregistrements d'opérations de toutes les branches (y compris les enregistrements de validation supprimés et les opérations de réinitialisation) |
git log -p | Afficher tous les historiques de validation et afficher le contenu de chaque modification |
git log -2 | Voir l'historique des 2 derniers commits (remarque : les numéros suivants peuvent être personnalisés, c'est-à-dire que cette façon d'écrire est git log -n Reflection) |
git log -p -2 | Afficher l'historique des 2 dernières soumissions et afficher le contenu modifié |
git log --stat | Afficher l'historique des soumissions et afficher le contenu récapitulatif (le résumé sera répertorié Modifié fichiers et combien de lignes ont été modifiées dans chaque fichier) |
7. Restauration et récupération de la version
Commande | Fonction |
---|---|
git reset --hard HEAD ^ | Retour à la version précédente |
git reset --hard HEAD~N (pas -, c'est une ligne ondulée) | Retour aux versions N précédentes |
git reset -- hard | Retournez à la version spécifiée |
git reflog et git reset --hard |
Restore Rolled- version précédente |
8. Afficher les différences entre les différentes versions
Command | Fonction |
---|---|
git diff | Afficher les différences de fichiers entre les différentes versions |
git add
). Désormais, l'annulation de la modification reviendra au même état que le référentiel 2 : readme.txt
a été ajouté ; Après avoir été ajouté à la zone de préparation, des modifications ont été apportées. Désormais, l'annulation des modifications reviendra à l'état après l'avoir ajouté à la zone de préparation.
readme.txt 自修改后还没有被放到暂存区(git add ),现在,撤销修改就回到和版本库一模一样的状态;二: readme.txt
| git rm b.txt
rm sera automatiquement ajouté à la zone de stockage temporaire après suppression. La commande d'ajout manuel est omiseEnfin, validez, le fichier est supprimé
Supprimez un seul fichier dans la zone de cache, b.txt est dans un état non suivi, c'est-à-dire de la zone de préparation Supprimer | |
---|---|
Effacer tous les caches |
| 11 Gestion des succursales
Command | |
branche git |
git checkout -b | |
git merge | |
git branch -d | |
Apprentissage recommandé : " | Git Learning Tutorial|
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!