Tutoriel de dém...login
Tutoriel de démarrage rapide Git
auteur:php.cn  temps de mise à jour:2022-04-11 13:44:34

Opérations de base de Git


Le travail de Git consiste à créer et à enregistrer des instantanés de votre projet et à les comparer aux instantanés suivants. Ce chapitre présente les commandes permettant de créer et de soumettre des instantanés de votre projet.


Obtenir et créer des commandes de projet

git init

Utilisez git init pour créer un nouveau référentiel Git dans le répertoire. Vous pouvez le faire à tout moment, dans n’importe quel répertoire, et c’est entièrement localisé.

Exécutez git init dans le répertoire pour créer un référentiel Git. Par exemple, si nous créons un projet php :

$ mkdir php
$ cd php/
$ git init
Initialized empty Git repository in /Users/tianqixin/www/php/.git/
# 在 /www/php/.git/ 目录初始化空 Git 仓库完毕。

Vous pouvez maintenant voir que le sous-répertoire .git est généré dans votre projet. Il s'agit de votre référentiel Git, où sont stockées toutes les données d'instantanés concernant votre projet.

ls -a
.	..	.git

git clone

Utilisez git clone pour copier un référentiel Git localement afin de pouvoir visualiser le projet ou apporter des modifications.

Si vous avez besoin de collaborer sur un projet avec d'autres personnes ou si vous souhaitez faire une copie d'un projet pour voir le code, vous pouvez cloner ce projet. Exécutez la commande :

 git clone [url]

[url] pour l'élément que vous souhaitez copier, et c'est tout.

Par exemple, si on clone le projet sur Github :

$ git clone git@github.com:schacon/simplegit.git
Cloning into 'simplegit'...
remote: Counting objects: 13, done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity... done.

Une fois le clonage terminé, un répertoire simplegit sera généré dans le répertoire courant :

$ cd simplegit/ $ls README Rakefile lib

L'opération ci-dessus copiera tous les enregistrements du projet.

$ ls -a
.        ..       .git     README   Rakefile lib
$ cd .git
$ ls
HEAD        description info        packed-refs
branches    hooks       logs        refs
config      index       objects

Par défaut, Git créera votre répertoire de projet local avec le nom du projet indiqué par l'URL que vous fournissez. Il s'agit généralement du nom du projet après le dernier / dans l'URL. Si vous souhaitez un nom différent, vous pouvez ajouter le nom souhaité après la commande.


Instantanés de base

Le travail de Git consiste à créer et à enregistrer des instantanés de votre projet et à les comparer avec les instantanés suivants. Ce chapitre présente les commandes permettant de créer et de soumettre des instantanés de votre projet.

git add

La commande git add permet d'ajouter le fichier au cache, par exemple, on ajoute les deux fichiers suivants :

$ touch README
$ touch hello.php
$ ls
README		hello.php
$ git status -s
?? README
?? hello.php
$

La commande git status permet de voir l'état actuel du projet.

Ensuite, nous exécutons la commande git add pour ajouter les fichiers :

$ git add README hello.php

Maintenant, nous exécutons à nouveau git status, et vous pouvez voir que ces deux fichiers ont été ajoutés.

$ git status -s
A  README
A  hello.php
$

Dans les nouveaux projets, il est courant d'ajouter tous les fichiers. Nous pouvons utiliser la commande git add . pour ajouter tous les fichiers du projet en cours.

Maintenant, nous modifions le fichier README :

$ vim README
<pre>
<p>在 README 添加以下内容:<b># php Git 测试</b>,然后保存退出。</p>
<p>再执行一下 git status:</p>
$ git status -s
AM README
A  hello.php

Le statut "AM" signifie que ce fichier a changé après que nous l'ayons ajouté au cache. Après avoir effectué les modifications, nous exécutons la commande git add pour l'ajouter au cache :

$ git add .
$ git status -s
A  README
A  hello.php

Lorsque vous souhaitez inclure vos modifications dans l'instantané qui est sur le point d'être soumis, vous devez exécuter git add.

git status

git status pour voir s'il y a eu des changements depuis votre dernier commit.

J'ai ajouté le paramètre -s lors de la démonstration de cette commande pour obtenir un bref résultat. Si ce paramètre n'est pas ajouté, la sortie détaillée sera :

$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   README
	new file:   hello.php

git diff

Exécutez git diff pour afficher les informations détaillées du résultat de l'exécution de git status.

La commande git diff montre la différence entre les modifications qui ont été écrites dans le cache et les modifications qui ont été modifiées mais pas encore écrites dans le cache. Il existe deux principaux scénarios d'application pour git diff.

  • Modifications pas encore mises en cache : git diff

  • Afficher les modifications mises en cache : git diff -- cached

  • Afficher toutes les modifications mises en cache et non mises en cache : git diff HEAD

  • Afficher le résumé au lieu de l'intégralité de la différence : git diff --stat

Entrez ce qui suit dans le fichier hello.php :

<?php
echo 'php中文网:www.php.cn';
?>
$ git status -s
A  README
AM hello.php
$ git diff
diff --git a/hello.php b/hello.php
index e69de29..69b5711 100644
--- a/hello.php
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo 'php中文网:www.php.cn';
+?>

git status vous montre Soumettre les modifications mises à jour ou les modifications écrites au cache, et git diff montre quelles sont ces modifications ligne par ligne.

Vérifions ensuite l'effet d'exécution de git diff --cached :

$ git add hello.php 
$ git status -s
A  README
A  hello.php
$ git diff --cached
diff --git a/README b/README
new file mode 100644
index 0000000..8f87495
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+# php Git 测试
diff --git a/hello.php b/hello.php
new file mode 100644
index 0000000..69b5711
--- /dev/null
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo 'php中文网:www.php.cn';
+?>

git commit

Utilisez la commande git add pour écrire le contenu de l'instantané dans la zone de cache , Exécutez git commit pour ajouter le contenu de la zone de cache à l'entrepôt.

Git enregistre votre nom et votre adresse e-mail pour chaque soumission que vous effectuez, la première étape consiste donc à configurer votre nom d'utilisateur et votre adresse e-mail.

$ git config --global user.name 'php'
$ git config --global user.email test@php.cn

Ensuite, nous écrivons dans le cache et validons toutes les modifications dans hello.php. Dans ce premier exemple, nous utilisons l'option -m pour fournir des commentaires de validation sur la ligne de commande.

$ git add hello.php
$ git status -s
A  README
A  hello.php
$ $ git commit -m '第一次版本提交'
[master (root-commit) d32cf1f] 第一次版本提交
 2 files changed, 4 insertions(+)
 create mode 100644 README
 create mode 100644 hello.php

Maintenant, nous avons enregistré l'instantané. Si nous exécutons git status:

$ git status
# On branch master
nothing to commit (working directory clean)

, le résultat ci-dessus montre que nous n'avons apporté aucune modification depuis la dernière soumission, et qu'il s'agit d'un "répertoire de travail propre : répertoire de travail propre".

Si vous ne définissez pas l'option -m, Git essaiera d'ouvrir un éditeur pour que vous puissiez remplir les informations de validation. Si Git ne trouve pas les informations pertinentes dans votre configuration, il ouvrira vim par défaut. L'écran ressemblera à ceci :

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# modified:   hello.php
#
~
~
".git/COMMIT_EDITMSG" 9L, 257C

Si vous pensez que le processus de mise en cache des commits de git add est trop lourd, Git vous permet également de sauter cette étape avec l'option -a. Le format de la commande est le suivant :

git commit -a

Nous modifions d'abord le fichier hello.php avec le contenu suivant :

<?php
echo 'php中文网:www.php.cn';
echo 'php中文网:www.php.cn';
?>

puis exécutons la commande suivante :

git commit -am '修改 hello.php 文件'
[master 71ee2cb] 修改 hello.php 文件
 1 file changed, 1 insertion(+)

git reset HEAD

La commande git reset HEAD est utilisée pour annuler le contenu mis en cache.

On change d'abord le fichier README, le contenu est le suivant :

# php Git 测试
# php中文网

hello.php le fichier est modifié en :

<?php
echo 'php中文网:www.php.cn';
echo 'php中文网:www.php.cn';
echo 'php中文网:www.php.cn';
?>

Maintenant après la modification des deux fichiers, ils sont soumis à la zone de cache. Nous devons maintenant annuler le cache de l'un d'entre eux, comme suit :

$ git status -s
 M README
 M hello.php
$ git add .
$ git status -s
M  README
M  hello.pp
$ git reset HEAD -- hello.php 
Unstaged changes after reset:
M	hello.php
$ git status -s
M  README
 M hello.php

Désormais, lorsque vous exécutez git commit, seules les modifications apportées au fichier README seront validées, mais pas. à bonjour.php.

$ git commit -m '修改'
[master f50cfda] 修改
 1 file changed, 1 insertion(+)
$ git status -s
 M hello.php

Vous pouvez voir les modifications apportées au fichier hello.php et les soumettre.

À ce stade, nous pouvons utiliser la commande suivante pour soumettre les modifications à hello.php :

$ git commit -am '修改 hello.php 文件'
[master 760f74d] 修改 hello.php 文件
 1 file changed, 1 insertion(+)
$ git status
On branch master
nothing to commit, working directory clean

En bref, exécutez git reset HEAD pour annuler l'ajout précédent de git add, mais vous ne voulez pas pour l'inclure dans le prochain commit du cache dans l'instantané.

git rm

git rm supprimera l'entrée du cache. Ceci est différent de git reset HEAD qui supprime l'entrée en cache. "Décacher" signifie restaurer la zone de cache telle qu'elle était avant que nous apportions les modifications.


Par défaut, git rm file supprimera le fichier du cache et de votre disque dur (répertoire de travail).

Si vous souhaitez conserver le fichier dans le répertoire de travail, vous pouvez utiliser git rm --cached :

Par exemple, si on supprime le fichier hello.php :

$ git rm hello.php 
rm 'hello.php'
$ ls
README

Sans supprimer le fichier de l'espace de travail :

$ git rm --cached README 
rm 'README'
$ ls
README

git mv

Tout ce que fait la commande git mv est ce que fait la commande git rm --cached , renommez le fichier disque, puis exécutez git add pour ajouter le nouveau fichier à la zone de cache.

Nous rajoutons d'abord le README que nous venons de supprimer :

$ git add README

puis nous le renommons :

$ git mv README  README.md
$ ls
README.md

Site Web PHP chinois