Outils pour utilisateurs

Outils du site


tuto:linux:git

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tuto:linux:git [2018/09/25 18:39] – [Astuces] roottuto:linux:git [2024/07/19 08:26] (Version actuelle) admin
Ligne 74: Ligne 74:
          then          then
                  GIT_AUTHOR_NAME="Ghislain LE MEUR";                  GIT_AUTHOR_NAME="Ghislain LE MEUR";
-                 GIT_COMITTER_NAME="Ghislain LE MEUR"; +                 GIT_COMMITTER_NAME="Ghislain LE MEUR"; 
-                 GIT_AUTHOR_EMAIL="gigi206+github@gmail.com"; +                 GIT_AUTHOR_EMAIL="gigi206@users.noreply.github.com"; 
-                 GIT_COMITTER_EMAIL="gigi206+github@gmail.com"; +                 GIT_COMMITTER_EMAIL="gigi206@users.noreply.github.com"; 
                  git commit-tree "$@";                  git commit-tree "$@";
          else          else
Ligne 725: Ligne 725:
 Trouver par recherche dichotomique la modification qui a introduit un bug : Trouver par recherche dichotomique la modification qui a introduit un bug :
   * [[https://www.youtube.com/watch?v=842RnLfqb3g|Tuto git bisect]]   * [[https://www.youtube.com/watch?v=842RnLfqb3g|Tuto git bisect]]
 +
 +==== submodule ====
 +  * Config :
 +<xtermrtf>
 +git config --local status.submoduleSummary true
 +git config --local diff.submodule log
 +</xtermrtf>
 +
 +  * Ajout de submodules:
 +<xtermrtf>
 +git submodule add -b docker-edge-to-nightly --force https://github.com/geerlingguy/ansible-role-docker dev/docker
 +git submodule add -b main https://github.com/roles-ansible/ansible_collection_time.git dev/ntp
 +git submodule add https://github.com/bennojoy/nginx dev/nginx
 +</xtermrtf>
 +
 +  * Etat des submodules entre ceux déclarés et ceux connus :
 +<xtermrtf>
 +cat .gitmodules
 +cat .git/config
 +</xtermrtf>
 +
 +  * Cloner un projet en copiant également les submodules :
 +<xtermrtf>
 +git clone --recursive https://xxx xxx
 +</xtermrtf>
 +
 +  * Initialiser un projet :
 +<xtermrtf>
 +git submodule update --init --recursive
 +</xtermrtf>
 +
 +  * Mettre à jour les sous-projets à la dernière version de la branche :
 +<xtermrtf>
 +git submodule update --init --recursive --remote --rebase
 +</xtermrtf>
 +
 +  * Status:
 +<xtermrtf>
 +git submodule status --recursive
 +</xtermrtf>
 +
 +  * Vérifier le SHA avant de mettre à jour les submodules:
 +<xtermrtf>
 +git ls-tree -r HEAD dev/docker
 +160000 commit c700df55425430d352d16b2a59bea2ab67a6a8bb dev/docker
 +</xtermrtf>
 +
 +  * Nettoyer les sous-projets :
 +<xtermrtf>
 +git submodule status --recursive
 +git fetch --recurse-submodules --prune
 +git submodule foreach --recursive 'git reset --hard'
 +git submodule foreach --recursive 'git clean -fdx'
 +</xtermrtf>
 +
 +  * Changement de branche de tracking :
 +<xtermrtf>
 +git submodule set-branch --branch master dev/docker
 +git submodule set-branch --default dev/docker
 +</xtermrtf>
 +
 +  * Suppression d'un submodule:
 +<xtermrtf>
 +git submodule deinit -f -- nginx
 +git rm -f nginx
 +rm -rf .git/modules/nginx
 +</xtermrtf>
 +
 +==== worktree ====
 +  * Créer un worktree sur une nouvelle branche nommée **myfeature** depuis la branche main dans **../wk/myfeature** :
 +<xtermrtf>
 +git worktree add -b myfeature ../wk/myfeature main
 +</xtermrtf>
 +
 +  * Lister les worktree:
 +<xtermrtf>
 +$ git worktree list 
 +/home/gigi/git_test4       d67857c [main]
 +/home/gigi/wk/myfeature    d67857c [myfeature]
 +</xtermrtf>
 +
 +* Supprimer un worktree:
 +<xtermrtf>
 +git worktree remove /home/gigi/wk/myfeature
 +</xtermrtf>
tuto/linux/git.1537900790.txt.gz · Dernière modification : 2018/09/25 18:39 de root