Partage de technologie

Tutoriel Git

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Outil de contrôle de version distribué Git

​ Git est un système de contrôle de version distribué open source qui peut gérer efficacement et à grande vitesse la gestion des versions de projets, qu'ils soient très petits ou très grands.

Git est distribué. Git n'a pas besoin d'un serveur central. Chacun de nos ordinateurs a les mêmes choses. Nous utilisons Git et disposons d'un serveur central juste pour faciliter l'échange des modifications de chacun, mais le statut de ce serveur est le même que celui de chacun de nos PC. Nous pouvons utiliser ce serveur comme PC de développeur, histoire que tout le monde puisse facilement communiquer entre eux sans éteindre l'ordinateur. Tout le monde peut toujours travailler sans ce serveur, mais les modifications « d'échange » sont gênantes.
Insérer la description de l'image ici

approche du contrôleur de version

Outil de contrôle de version centralisé

​Outil de contrôle de version centralisé, la bibliothèque de versions est stockée sur un serveur central. Tous les membres de l'équipe téléchargent le code depuis le serveur central lorsqu'ils travaillent, ils doivent être connectés à Internet, soit à un réseau local, soit à Internet. Soumettez vos modifications personnelles au référentiel central. Tels que : SVN, CVS
Insérer la description de l'image ici

Outil de contrôle de version distribué

​ Il n'y a pas de « serveur central » dans le système de contrôle de versions distribué. L'ordinateur de chacun dispose d'une bibliothèque de versions complète. Lorsque vous travaillez ainsi, il n'est pas nécessaire de se connecter à Internet, car la bibliothèque de versions se trouve sur votre propre ordinateur. Lorsque plusieurs personnes collaborent, il leur suffit de transmettre leurs modifications les unes aux autres, puis elles peuvent voir les modifications des autres. Tel que : Git

Commandes courantes

Flux de travail Git
Insérer la description de l'image ici

  • cloner: Cloner le code du référentiel distant vers le référentiel local

  • vérifier : Récupérez une succursale d'entrepôt depuis l'entrepôt local et apportez des modifications

  • ajouter : Soumettez le code à la zone de préparation avant de le soumettre

  • commettre : Soumettre à l'entrepôt local et enregistrer les versions historiques modifiées dans l'entrepôt local

  • aller chercher : Récupérer de la bibliothèque distante vers l'entrepôt local sans aucune action de fusion.

  • tirer : Extraire de la bibliothèque distante vers la bibliothèque locale et fusionner automatiquement (fusionner), puis placez-le dans l'espace de travail, ce qui équivaut àfetch merge

  • pousser : Poussez le code vers l'entrepôt distant

  • git config:Informations de configuration

    # 设置用户信息
    git config --global user.name "userName"
    git config --global user.email "Email"
    
    # 查看配置信息
    git config --global user.name
    git config --global user.email
    
  • alias: Alias ​​de commande de configuration, dans~/.bashrcAjoutez la configuration et devez l'exécuter une fois la modification terminée.source ~/.bashrc

    # 部分windows系统不允许用户创建.开头的文件,可以在gitBash中执行
    touch ~/.bashrc
    
    # 在~/.bashrc中添加内容,输出git提交日志
    alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
    
  • git init: Initialisez le répertoire actuel en tant qu'entrepôt git. Après une exécution réussie, il y en aura plusieurs..gitdossier

  • git status: Afficher l'état des modifications (Zone de stockage temporaire, zone de travail)
    Insérer la description de l'image ici

  • git add : Ajouter des modifications à un ou plusieurs fichiers de l'espace de travail dans la zone de préparation

    git add 单个文件名 | 通配符
    
    # 将所有修改加入到暂存区
    git add .
    
  • git commit: Soumettre le contenu de la zone de transit à la succursale actuelle de l'entrepôt local,git commit -m '注释内容'

  • git log : Afficher les journaux de soumission et configurer les aliasgit-log

    git log [option]
    	--all 显式所有分支
    	--pretty=oneline 将提交信息显示为一行
    	--abbrev-commit 使得输出的commitId更简短
    	--graph 以图的形式显示
    
  • git reset:Annulation de la version

    # 查看已经删除的记录,可以看到已经删除的提交记录
    git reflog
    
    # 版本切换,commitId可以通过git log查看
    git reset --hard commitId
    
  • git branch: Afficher les branches locales. L'utilisation de branches signifie que le travail peut être séparé de la ligne principale de développement pour corriger les bugs et développer de nouvelles fonctionnalités, afin de ne pas affecter la ligne principale.

    • maître(Production) Branche : branche en ligne, branche principale, branche correspondant aux projets de petite et moyenne taille comme les applications fonctionnant en ligne

    • développer(développer) branche : Il s'agit d'une branche créée à partir de master. Elle est généralement utilisée comme branche de développement principale de la partie développement. S'il n'y a pas d'autres exigences de développement parallèles pour les différentes phases de développement en ligne, le développement peut être effectué dans cette version. la phase de développement est terminée, elle doit être fusionnée dans la branche principale et prête à être mise en ligne.

    • branche feature/xxx : Une branche créée à partir du développement Elle est généralement développée en parallèle en même temps, mais est créée lorsque le lancement n'a pas lieu dans la même période. Une fois les tâches de recherche sur la branche terminées, elle est fusionnée dans la branche. développer une branche.

    • Branche hotfix/xxx : une branche dérivée de master, généralement utilisée pour la réparation de bugs en ligne. Une fois la réparation terminée, elle doit être fusionnée dans les branches master, test et development.

    • test(test) bifurquer

    • pré(Pré lancement) bifurquer
      Insérer la description de l'image ici

    # 查看本地分支
    git branch
    
    # 创建本地分支
    git branch 分支名
    
    # 切换分支
    git checkout 分支名
    
    # 切换到一个不存在的分支,创建并切换
    git checkout -b 分支名
    
    # 合并分支,一个分支上的提交可以合并到另一个分支
    git merge 分支名
    
    # 删除分支,不能删除当前分支,只能删除其它分支
    # 删除时需要做各种检查
    git branch -d 分支名
    # 强制删除,不做任何检查
    git branch -D 分支名
    
  • Résolution des conflits : Lorsque des modifications de fichiers sur deux branches peuvent entrer en conflit, par exemple, la même ligne du même fichier est modifiée en même temps, le conflit doit être résolu manuellement. Les étapes sont les suivantes :

    1. Gérer les conflits dans les fichiers
    2. Ajoutez les fichiers résolus en conflit à la zone de stockage temporaire (ajouter)
    3. Soumettre à l'entrepôt (commettre)

Entrepôt distant

  • git remote add: Ajouter un entrepôt distant Cette opération consiste à initialiser d'abord la bibliothèque locale puis à la connecter à la bibliothèque distante créée.

    git remote add