Résumé de la gestion du code GIT

Git est actuellement le système de contrôle de version distribué le plus avancé au monde (personne), est un système de contrôle de version distribué open source. Résoudre le problème de la gestion de code lors du développement collaboratif multi-personnes.

Quatre quartiers

Zone de travail: l'espace de travail local, pour les opérations d'ajout, de modification et de suppression de fichiers, se produit dans la
zone temporaire de la zone de travail : la zone temporaire se réfère à l'achèvement du stockage à petite étape des opérations dans la zone de travail, qui fait partie du référentiel
local Entrepôt: La zone d'entrepôt représente une petite étape de développement personnel
Entrepôt distant: entrepôt en ligne, comme GitLab

Commandes couramment utilisées
  • De la zone de travail à la zone de stockage temporaire

    # 把指定的文件添加到暂存区中
    $ git add <文件路径>
    
    # 添加所有修改、已删除的文件到暂存区中
    $ git add -u [<文件路径>]
    $ git add --update [<文件路径>]
    
    # 添加所有修改、已删除、新增的文件到暂存区中,省略 <文件路径> 即为当前目录
    $ git add -A [<文件路径>]
    $ git add --all [<文件路径>]
    
    # 查看所有修改、已删除但没有提交的文件,进入一个子命令系统
    $ git add -i [<文件路径>]
    $ git add --interactive [<文件路径>]
    
  • De la zone de stockage temporaire à l'entrepôt local

    # 把暂存区中的文件提交到本地仓库,调用文本编辑器输入该次提交的描述信息
    $ git commit
    
    # 把暂存区中的文件提交到本地仓库中并添加描述信息
    $ git commit -m "<提交的描述信息>"
    
    # 把所有修改、已删除的文件提交到本地仓库中
    # 不包括未被版本库跟踪的文件,等同于先调用了 "git add -u"
    $ git commit -a -m "<提交的描述信息>"
    
    # 修改上次提交的描述信息
    $ git commit --amend
    
  • Poussez la branche de l'entrepôt local vers la branche désignée de l'entrepôt distant

    # 把本地仓库的分支推送到远程仓库的指定分支
    $ git push <远程仓库的别名> <本地分支名>:<远程分支名>
    
    # 删除指定的远程仓库的分支
    $ git push <远程仓库的别名> :<远程分支名>
    $ git push <远程仓库的别名> --delete <远程分支名>
    
  • Tirez la dernière version de l'entrepôt distant et fusionnez-la au local

    #首先会执行git fetch, 然后会执行git merge
    git pull <远程仓库别名> <远程分支名>
    
  • Imprimer le journal

    # 打印所有的提交记录,最上面的commit为最新提交
    $ git log
    
  • Comparez les différences entre les versions

    # 比较当前文件和暂存区中文件的差异,显示没有暂存起来的更改
    $ git diff
    
    # 比较暂存区中的文件和上次提交时的差异
    $ git diff --cached
    $ git diff --staged
    
    # 比较当前文件和上次提交时的差异
    $ git diff HEAD
    
    # 查看从指定的版本之后改动的内容
    $ git diff <commit ID>
    
    # 比较两个分支之间的差异
    $ git diff <分支名称> <分支名称>
    
    # 查看两个分支分开后各自的改动内容
    $ git diff <分支名称>...<分支名称>
    
  • Restaurer l'enregistrement de validation

    # 重置暂存区,但文件不受影响
    # 相当于将用 "git add" 命令更新到暂存区的内容撤出暂存区,可以指定文件
    $ git reset <文件路径>
    
    # 将 HEAD 的指向改变,撤销到指定的提交记录,文件未修改
    $ git reset <commit ID>
    $ git reset --mixed <commit ID>
    
    # 将 HEAD 的指向改变,撤销到指定的提交记录,保留工作区的修改
    $ git reset --soft <commit ID>
    
    # 将 HEAD 的指向改变,撤销到指定的提交记录,工作区的修改也没了
    $ git reset --hard <commit ID>
    
  • Obtenez la dernière version de l'entrepôt distant au local

    # 将远程仓库指定分支的最新版本取回到本地
    $ git fetch <远程主机名> <分支名>
    
    # 取回更新后,会返回一个FETCH_HEAD ,指的是某个branch在服务器上的最新状态,我们可以在本地通过这个命令查看刚取回的最新代码和本地当前所在分支有什么区别
    $ git log -p FETCH_HEAD
    
    # 如果需要将这个FETCH_HEAD ,更新到当前所在的本地分支,那么可以使用(fetch + merge  相当于pull)
    $ git merge FETCH_HEAD
    
  • Spécifiez la fusion des branches

    # 把指定的分支合并到当前所在的分支下
    $ git merge <分支名称>
    
  • Inverser la version, révoquer une version

    # 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
    # 生成一个新的提交来撤销某次提交
    $ git revert -n <commit ID>
    # 注意:这里可能会有代码冲突,那么需要手动修改冲突后重新git add 修改的文件名
    $ git commit -m "反做某个版本" 
    
Résolution des conflits de fusion de code

Le problème se pose: A a modifié le fichier a.py, l'a poussé vers le haut et l'a fusionné dans master, B n'a pas extrait le dernier code modifié du master A et a changé a.py. À ce stade, une invite de conflit de code apparaît lors de la fusion en ligne.
Solution: B retourne dans sa succursale locale, met le dernier code de git pull origin master dans a.py, il sautera de la position où le conflit se produit, supprimera le code inutile, puis poussera à nouveau. Revenez à la même demande de fusion en ligne et vous constaterez que vous pouvez fusionner.

Je suppose que tu aimes

Origine www.cnblogs.com/pyweb/p/12754848.html
conseillé
Classement