Tutoriel détaillé de gestion de projet GitHub/tutoriel git [avec images et code]

Avant d'utiliser GitHub pour la gestion de projet,Tout d’abord, vous devez créer vous-même un entrepôt. Si vous l’utilisez vous-même, vous pouvez le définir comme privé.

1. Opérations de base de Git

Les 6 commandes suivantes sont couramment utilisées dans Git : git clone, git push, git add, git commit, git checkout et git pull, qui seront présentées en détail plus tard.
Insérer la description de l'image ici
Les commandes courantes sont les suivantes :

  • git ajouter
git add # 添加文件到暂存区
(git add . 添加当前目录下的所有文件到暂存区)
  • statut git
git status	#查看仓库当前的状态,显示有变更的文件。
(一般有参数 -s 来获得简短的输出结果:git status -s)
  • git diff
git diff	#比较文件的不同,即暂存区和工作区的差异。
(尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
)
  • git commit
git commit	#提交暂存区到本地仓库。
(一般有参数 -m [message] 可以是一些备注信息,
和-a 参数设置修改文件后不需要执行 git add 命令,直接来提交
例如git commit -am '修改 hello.php 文件' #可以省略git add 操作
  • git reset (peut être utilisé pour effacer les fichiers dans la zone de cache [git add])
git reset	#回退版本。
(语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
--soft 参数用于回退到某个版本。
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。注意:谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。
HEAD 说明:
	HEAD 表示当前版本
	HEAD^ 上一个版本
	HEAD^^ 上上一个版本
	HEAD^^^ 上上上一个版本
	以此类推...
可以使用 ~数字表示
	HEAD~0 表示当前版本
	HEAD~1 上一个版本
	HEAD^2 上上一个版本
	HEAD^3 上上上一个版本
	以此类推...
例如:
$ git reset HEAD^            # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
$ git  reset  052e           # 回退到指定版本
  • git rm
git rm	#将文件从暂存区和工作区中删除。
(例如
将文件从暂存区和工作区中删除:
git rm <file>
git rm runoob.txt 
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
强行从暂存区和工作区中删除修改后的 runoob.txt 文件:
git rm -f runoob.txt 
如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:
git rm --cached <file>
git rm --cached runoob.txt
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:
git rm –r *

git mv #Déplacez ou renommez les fichiers de l'espace de travail.
git log #Afficher les enregistrements de validation historiques
git blâme #Afficher les enregistrements de modification historiques du fichier spécifié sous forme de liste
git remote #Opération d'entrepôt à
distance git fetch #Obtenir la bibliothèque de code à partir de la git
pull distante #Télécharger le code distant et le fusionner
git push # Téléchargez le code à distance et fusionnez-le

2. Configuration de Git

git config a trois répertoires :

  • /etc/gitconfigFichier : configuration du système commune à tous les utilisateurs. Si vous utilisez l'option --system lors de l'utilisation de git config, ce fichier sera lu et écrit.
  • ~/.gitconfigFichier : les fichiers de configuration dans le répertoire utilisateur ne s'appliquent qu'à cet utilisateur. Si vous utilisez l'option --global lors de l'utilisation de git config, ce fichier sera lu et écrit.
  • Fichiers de configuration dans le répertoire Git du projet en cours (c'est-à-dire les fichiers dans le répertoire de travail .git/config) : La configuration ici n'est valable que pour le projet en cours. La configuration à chaque niveau écrasera la même configuration au niveau supérieur, donc .git/configla configuration dans écrasera /etc/gitconfigla variable du même nom dans .

1. Configurez le nom d'utilisateur personnel et l'adresse e-mail

git config --global user.name "runoob"
git config --global user.email test@runoob.com

Si l'option est utilisée --global, le fichier de configuration modifié est celui situé dans le répertoire personnel de votre utilisateur. Tous vos futurs projets utiliseront les informations utilisateur configurées ici par défaut.

Si vous souhaitez utiliser un nom ou une adresse électronique différente pour un projet spécifique去掉 --global 选项 , reconfigurez-le simplement et les nouveaux paramètres sont enregistrés dans le fichier .git/config du projet actuel.

2. Afficher les informations de configuration

Pour vérifier les informations de configuration existantes, vous pouvez utiliser git config --listla commande :

$ git config --list
http.postbuffer=2M
user.name=runoob
user.email=test@runoob.com

vim ~/.gitconfigVous pouvez également le consulter et le modifier vous-même.

3. Espace de travail Git, zone de transit et référentiel

  • 工作区: C'est le répertoire que vous pouvez voir sur votre ordinateur.
  • 暂存区: En anglais, cela s'appelle stage ou index. Il est généralement stocké dans le fichier d'index ( ) du répertoire .git .git/index, c'est pourquoi nous appelons parfois la zone de stockage temporaire l'index (index).
  • 版本库: Il y a un répertoire caché dans l'espace de travail .git. Ce n'est pas l'espace de travail, mais le référentiel Git.

La figure suivante montre la relation entre l'espace de travail, la zone de transfert dans le référentiel et le référentiel :
Insérer la description de l'image ici

  • Le côté gauche de l’image est l’espace de travail et le côté droit est la bibliothèque de versions. La zone marquée « index » dans le référentiel est la zone de transfert (stage/index), et la zone marquée « master » est l'arborescence de répertoires représentée par la branche master.

  • Sur la figure, nous pouvons voir que « HEAD » à ce moment est en fait un « curseur » pointant vers la branche master. Par conséquent, là où HEAD apparaît dans la commande illustrée sur la figure, il peut être remplacé par master.

  • La zone identifiée par les objets dans la figure est la bibliothèque d'objets de Git, qui se trouve en fait dans le répertoire ".git/objects", qui contient divers objets et contenus créés.

  • Lorsqu'une commande est exécutée sur un fichier modifié (ou ajouté) dans l'espace de travail git add, l'arborescence des répertoires de la zone de stockage temporaire est mise à jour, et en même temps, le contenu du fichier modifié (ou ajouté) dans l'espace de travail est écrit dans un nouvel objet dans la bibliothèque d'objets. , et l'ID de l'objet est enregistré dans l'index de fichier de la zone de stockage temporaire.

  • Lorsqu'une opération de validation (git commit) est effectuée, l'arborescence des répertoires de la zone de stockage temporaire est écrite dans la bibliothèque de versions (bibliothèque d'objets) et la branche principale sera mise à jour en conséquence. Autrement dit, l'arborescence de répertoires pointée par master est l'arborescence de répertoires de la zone de stockage temporaire lors de la soumission.

  • Lorsque la commande est exécutée git reset HEAD , l'arborescence des répertoires dans la zone de préparation sera réécrite et remplacée par l'arborescence des répertoires pointée par la branche principale, mais l'espace de travail ne sera pas affecté.

  • Lorsque la commande est exécutée git rm --cached <file>, le fichier sera supprimé directement de la zone de stockage temporaire et la zone de travail ne sera pas modifiée.

  • Lorsque la commande git checkout . ou git checkout -- <file>est exécutée, les fichiers de l'espace de travail seront remplacés par tous les fichiers spécifiés dans la zone de stockage temporaire. Cette opération est dangereuse et effacera les modifications apportées à l'espace de travail qui n'ont pas été ajoutées à la zone de préparation.

  • Lorsque la commande git checkout HEAD .ou git checkout HEAD <file> est exécutée, les fichiers de la zone de préparation et de l'espace de travail seront remplacés par tout ou partie des fichiers de la branche principale pointée par HEAD. Cette commande est également extrêmement dangereuse, car elle effacera non seulement les modifications non validées dans l'espace de travail, mais également les modifications non validées dans la zone de préparation.

4. Téléchargez votre projet sur le référentiel GitHub

d'abord

git remote add origin https://github.com/zhouzikang/test1.git
git branch -M main
git push -u origin main

Faites attention à le remplacer par votre propre adresse de projet GitHub.
Si c'est le cas error: remote origin already exists., vous pouvez utiliser :

git remote rm origin

la deuxième fois

git add .
git commit -m "修改说明"
git push

exploitation de la succursale

  • Dans git, vous pouvez utiliser la commande suivante pour afficher les branches.
git branch # 查看所有本地分支
git branch -a # 同时查看远程分支
git branch -r # 只查看远程分支
git branch -av # 查看所有分支(本地和远程)并且标识当前正在使用的分支
git branch -avv # 查看所有分支(本地和远程)并且标识当前正在使用的分支,并且列出最后一次提交的信息
  • Commande Créer une branche :
git branch (branchname)
# 例如
$ git branch testing
  • Commande Changer de branche :
git checkout (branchname)
# 例如
$ git checkout testing
Switched to branch 'testing'

Lorsque vous changez de branche, Git remplacera le contenu de votre répertoire de travail par le dernier instantané validé de cette branche, de sorte que plusieurs branches ne nécessitent pas plusieurs répertoires.

Nous pouvons également utiliser la commande git checkout -b (branchname) pour créer une nouvelle branche et basculer immédiatement vers la branche pour opérer dans la branche.

$ git checkout -b newtest
Switched to a new branch 'newtest'
  • Commande Fusionner les branches :
git merge 

Conflits de fusion :
La fusion n’est pas qu’une simple opération d’ajout et de suppression de fichiers, Git fusionnera également les modifications.

  • Commande Supprimer la branche :
git branch -d (branchname)
# 例如
$ git branch -d testing
Deleted branch testing (was 85fc7e7).

Je suppose que tu aimes

Origine blog.csdn.net/qq_45934285/article/details/132599534
conseillé
Classement