Maison  >  Article  >  outils de développement  >  Analyse approfondie des principes de fonctionnement de base de Git

Analyse approfondie des principes de fonctionnement de base de Git

WBOY
WBOYavant
2022-04-07 13:30:523681parcourir

Cet article vous apporte des connaissances pertinentes sur Git, qui présente principalement les principes de fonctionnement de base de git, des didacticiels d'entrée de gamme et aide les novices à démarrer rapidement avec Git en jouant avec les entrepôts locaux de Git. J'espère que cela sera utile à tout le monde. .

Analyse approfondie des principes de fonctionnement de base de Git

Étude recommandée : "Tutoriel d'apprentissage Git"

1. Partition et flux de travail

1. Partition Git

Les partitions Git incluent un espace de travail, une zone de préparation, un entrepôt local (bibliothèque de versions locales), entrepôt distant (bibliothèque de versions distantes).

  1. Workspace
    L'espace de travail est le répertoire où se trouve le code local, et c'est également le répertoire où est stocké .git/ (entrepôt local).

  2. Zone de transit
    La zone de transit (Index/Stage) est l'espace de cache de l'espace de travail et de l'entrepôt local, qui enregistre les informations de modification du fichier qui seront soumises à l'entrepôt local (bibliothèque de versions), dans le Répertoire .git/ Le fichier d'index est la zone de stockage temporaire.

  3. Entrepôt local
    L'entrepôt local (Référentiel) est également appelé bibliothèque locale ou bibliothèque de versions. Il stocke toutes les versions locales (enregistrements de soumission de validation). Les fichiers de l'entrepôt local se trouvent dans le répertoire .git/.

  4. Entrepôt distant
    Entrepôt distant (Remote) Sur Internet, GitHub, Gitee et GitLab peuvent créer des entrepôts distants, comme les entrepôts locaux, les entrepôts distants stockent également différentes versions de code, mais ces versions peuvent provenir de plusieurs sources. entrepôt local.

2. Flux de travail

--------------------------------------- ----- ---------------L'image ci-dessous provient d'Internet----------------------- ----------- --------------------------
Analyse approfondie des principes de fonctionnement de base de Git

L'image ci-dessus décrit de manière vivante les commandes de fonctionnement entre différentes partitions Git.

  • Si vous souhaitez implémenter la fonction de téléchargement de code, utilisez add dans l'espace de travail pour ajouter des fichiers à la zone de stockage temporaire. La zone de stockage temporaire soumet ensuite la version à l'entrepôt local via commit. Enfin, l'entrepôt local utilise push to. pousser la version vers l'entrepôt distant ;
  • Modification de l'espace de travail Les fichiers peuvent être restaurés à partir de l'entrepôt local ou de la zone de préparation via la commande de paiement si vous souhaitez mettre à jour le code d'une succursale dans l'espace de travail vers la dernière version de l'entrepôt distant ; , vous pouvez utiliser la commande pull ;
  • Utilisez clone sur l'entrepôt distant pour copier la branche principale de l'entrepôt distant. Dans le référentiel local, la commande fetch est similaire à pull, sauf que pull fusionnera le code local, tandis que fetch le fera récupérez uniquement la dernière version dans le référentiel local, qu'il y ait ou non de nouveaux ajouts au référentiel local.

2. Initialisation de l'entrepôt local

1. git init

L'entrepôt local (bibliothèque de versions) doit être créé à l'aide de la commande git init (vous pouvez également le cloner directement depuis l'entrepôt distant, qui sera présenté plus tard) .
Entrez dans l'espace de travail (répertoire de stockage du code), entrez git init, git créera un nouveau répertoire .git/ dans l'espace de travail :
Analyse approfondie des principes de fonctionnement de base de Git

2 Une brève introduction au répertoire .git/

Analyse approfondie des principes de fonctionnement de base de Git
Dans un répertoire nouvellement créé. .git/ , il y a 3 fichiers texte :

  • config stocke les informations de configuration de l'entrepôt local ;
  • description est utilisée pour décrire le nom de l'entrepôt
  • HEAD est la branche actuelle de l'entrepôt local ; par défaut, master et pointe vers refs/heads/master , on peut voir que le répertoire refs/ stocke principalement certaines informations de branche

Plus tard, lorsque l'entrepôt local sera exploité, d'autres fichiers seront générés, tels que logs/ - ; sauvegarde des enregistrements soumis, index - zone de stockage temporaire.

【Remarque】 Ne modifiez jamais manuellement les fichiers dans .git/, car cela pourrait endommager la structure de l'entrepôt local et entraîner des conséquences néfastes.

3. Configuration des informations utilisateur

1. Introduction à la configuration du nom d'utilisateur et de l'e-mail

La première chose après l'initialisation de l'entrepôt local est d'ajouter les informations de configuration utilisateur à l'entrepôt local, y compris le nom d'utilisateur et l'adresse e-mail. et l'adresse e-mail ici. Il n'y a pas de relation directe avec le compte de la plateforme d'hébergement (comme gitee). Sa seule fonction est de faire connaître aux autres utilisateurs ou à la plateforme d'hébergement les informations de téléchargement du code. empêcher le téléchargement du code.

Par exemple, ci-dessous, j'ai téléchargé le code en utilisant "Zhang San" et "Li Si". L'adresse e-mail n'est pas réelle, mais le téléchargement peut toujours réussir : (Il y a eu un accident dans les informations de commit)
Analyse approfondie des principes de fonctionnement de base de Git
Celle de Li Si. l'adresse e-mail n'est évidemment pas réelle.
Analyse approfondie des principes de fonctionnement de base de Git
Puisque les adresses email de "Zhang San" et "Li Si" ne sont pas liées aux comptes gîte, lorsque vous cliquez sur leurs avatars, les informations utilisateur ne seront pas affichées si l'adresse email de soumission du compte gîte est renseignée. dans la configuration utilisateur, vous pouvez cliquer sur gitee Afficher les informations du compte du téléchargeur.
Analyse approfondie des principes de fonctionnement de base de Git
L'adresse e-mail de soumission de l'utilisateur gitee peut être définie et affichée dans gitee->Page d'accueil personnelle->Paramètres personnels->Gestion de la boîte aux lettres :
Analyse approfondie des principes de fonctionnement de base de Git

2. Utilisez git config pour configurer les informations utilisateur

Avez. a tant dit Choses à noter concernant le nom d'utilisateur et l'adresse e-mail. En fait, la configuration des informations utilisateur est très simple :

git config --global user.name "your name"git config --global user.email "your email"

user.name suivi du nom d'utilisateur, remplissez ce que vous voulez.
user.email suivi de l'adresse email de l'utilisateur, remplissez ce que vous voulez.
–global est utilisé pour configurer les propriétés globales
Analyse approfondie des principes de fonctionnement de base de Git
Lors de la soumission du code à l'entrepôt local, git récupérera d'abord le fichier .git/config de l'entrepôt local. S'il n'y a aucune information utilisateur, le fichier de configuration global sera utilisé (. conformément au principe de proximité).

Le fichier de configuration globale est stocké dans le répertoire utilisateur système/username/.gitconfig, qui n'a que l'attribut user.
Analyse approfondie des principes de fonctionnement de base de Git

Lorsque –global n'est pas ajouté, seule la configuration utilisateur de l'entrepôt local est définie. Les informations de configuration utilisateur de l'entrepôt local sont stockées dans : .git/config
Analyse approfondie des principes de fonctionnement de base de Git
Dans l'image ci-dessus, je définis uniquement le nom d'utilisateur. de la configuration locale. Si vous soumettez la modification à ce moment-là, accédez à l'entrepôt local et utilisez la configuration locale pour le nom d'utilisateur dans l'enregistrement de soumission (image ci-dessous). Étant donné que la boîte aux lettres de l'utilisateur n'est pas configurée localement, la boîte aux lettres utilise toujours le. boîte aux lettres spécifiée dans la configuration globale.
Analyse approfondie des principes de fonctionnement de base de Git

4. Gérer les fichiers de la zone de préparation

Après avoir configuré les informations utilisateur, nous pouvons commencer à envisager de soumettre du code, mais parfois, nous ne voulons pas soumettre l'intégralité des fichiers de l'espace de travail à l'entrepôt local (bibliothèque de versions) . L'existence de la zone de stockage temporaire (index/stage) résout ce problème pour nous. Nous pouvons d'abord ajouter le fichier de code à la zone de stockage temporaire. Si nous pensons qu'il doit être modifié, nous pouvons supprimer le fichier du stockage temporaire. jusqu'à ce que nous sentions que le fichier est sélectionné. Lorsque vous avez presque terminé, passez à l'étape suivante (soumettre à l'entrepôt local).

1. Statut du fichier Git

Avant de gérer la zone de préparation, nous devons également connaître plusieurs statuts des fichiers de l'espace de travail :

  • Non suivi Non suivi, aucun fichier dans la zone de préparation n'a été ajouté à l'espace de travail, aucun Participer dans le contrôle de version ;
  • Non modifié Non modifié, ajouté au contrôle de version, mais identique à l'instantané du fichier dans le référentiel
  • Modifié Modifié, ajouté au contrôle de version et différent de l'instantané lors de sa dernière création ; ajouté au référentiel ;
  • Staged a été mis en scène et peut être soumis à l'entrepôt local (bibliothèque de versions) à l'étape suivante.

--------------------------------------------------- --- --------L'image ci-dessous provient d'Internet-------------------------------- --------- -------------------
Analyse approfondie des principes de fonctionnement de base de Git
La commande git status peut être utilisée pour vérifier l'état actuel des fichiers de l'espace de travail :

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

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

2. Ajoutez des fichiers à la zone de préparation

Vérifiez d'abord l'état de tous les fichiers dans l'espace de travail et constatez qu'il n'y a pas encore de fichiers :
Analyse approfondie des principes de fonctionnement de base de Git

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

3. 删除暂存区的文件

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

4. 文件修改管理

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

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

五、提交文件到本地仓库

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

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

Analyse approfondie des principes de fonctionnement de base de Git

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

Analyse approfondie des principes de fonctionnement de base de Git

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

Analyse approfondie des principes de fonctionnement de base de Git

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

Analyse approfondie des principes de fonctionnement de base de Git

六、推送到远程仓库

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

1. 创建远程仓库

我以码云为例,远程仓库的创建可以通过以下三步实现:
Analyse approfondie des principes de fonctionnement de base de Git

2. 添加远程仓库地址

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

Copiez d'abord l'adresse de l'entrepôt depuis la page d'accueil de l'entrepôt du nuage de codes :
Analyse approfondie des principes de fonctionnement de base de Git

J'ai nommé l'alias local de l'origine de l'entrepôt distant :
Analyse approfondie des principes de fonctionnement de base de Git
Plusieurs entrepôts distants peuvent être configurés, à condition que les alias locaux n'entrent pas en conflit.

3. Afficher l'adresse de l'entrepôt distant

git remote -v La commande peut afficher l'adresse de l'entrepôt distant, ou vous pouvez la visualiser via git config -l
Analyse approfondie des principes de fonctionnement de base de Git

4. git Remote Remove Vous pouvez supprimer l'adresse distante avec le nom d'alias local :


5 Push vers l'entrepôt distant Analyse approfondie des principes de fonctionnement de base de Git

Confirmez d'abord l'alias de l'entrepôt distant L'alias correspondant à l'adresse du protocole https. de l'entrepôt distant que j'ai actuellement défini est https, et l'adresse du protocole ssh correspond. L'alias est ssh. Ces deux adresses sont en fait un entrepôt, mais les protocoles sont différents.


https uploadAnalyse approfondie des principes de fonctionnement de base de Git

git push name

peut réaliser le téléchargement du nom de l'entrepôt local est l'alias de l'entrepôt distant dans le fichier de configuration. Vous devez entrer le compte et le mot de passe pour terminer. le téléchargement. Le système Windows enregistrera automatiquement le compte et le mot de passe. Si vous souhaitez modifier le nom d'utilisateur et le mot de passe enregistrés par Windows, vous pouvez vous référer à Modification des informations de connexion Gitee.

Parfois, le premier téléchargement échouera. Vous pouvez essayer d'utiliser git push -u name master La fonction de cette commande est d'utiliser la branche principale de l'entrepôt de noms comme branche amont -u et –set-upstream. le même effet.

Analyse approfondie des principes de fonctionnement de base de Git
Analyse approfondie des principes de fonctionnement de base de Git
ssh uploadAnalyse approfondie des principes de fonctionnement de base de Git

Si vous souhaitez utiliser ssh pour télécharger, vous devez d'abord générer une clé SSH et enregistrer la clé publique dans les paramètres de clé publique SSH des paramètres personnels du gîte pour le processus spécifique. , veuillez vous référer à : Générer une clé SSH pour implémenter le téléchargement de code

Parfois, le premier téléchargement échouera. Vous pouvez essayer d'utiliser git push -u name master La fonction de cette commande est d'utiliser la branche principale de l'entrepôt de noms. car la branche en amont -u et –set- en amont a le même effet.



Analyse approfondie des principes de fonctionnement de base de Git
7. Cloner, récupérer ou extraire de l'entrepôt distant Analyse approfondie des principes de fonctionnement de base de Git

1 Cloner l'entrepôt distant vers le local

Le clone de git peut copier l'entrepôt distant vers le local et initialiser automatiquement l'entrepôt local au niveau local. en même temps.

Ouvrez Git bash dans n'importe quel répertoire, entrez git clone [], repo est l'URL de l'entrepôt distant, dir est le chemin de stockage de l'entrepôt clone (vous n'avez pas besoin de le créer à l'avance) , s'il n'est pas renseigné, la valeur par défaut est Le nom du référentiel distant (pas l'alias local).

[Remarque]
 : Clone nécessite un mot de passe, tout comme Push.
Après le clonage réussi, entrez dans le répertoire de l'entrepôt, qui est exactement le même que l'espace de travail lors du téléchargement, et le journal de soumission est également le même.
Analyse approfondie des principes de fonctionnement de base de Git

2. Obtenez l'entrepôt distant (fetch)Analyse approfondie des principes de fonctionnement de base de Git

La fonction de git fetch est de copier la branche de l'entrepôt distant vers l'entrepôt local et d'enregistrer la dernière version dans la branche FETCH_HEAD. vous devez le fusionner manuellement avec la branche actuelle.

Format de commande : git fetch [], le référentiel est l'adresse réseau de l'entrepôt distant.

git merge est utilisé pour fusionner des branches




3. Tirez l'entrepôt distant (pull) Analyse approfondie des principes de fonctionnement de base de Git

git pull est similaire à git fetch, mais git pull fusionnera automatiquement la branche de l'entrepôt distant dans le courant local une branche.


Analyse approfondie des principes de fonctionnement de base de GitApprentissage recommandé : "
Tutoriel vidéo Git

"

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer