Outils pour utilisateurs

Outils du site


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édentes Révision précédente
Prochaine révision
Révision précédente
git [2016/01/19 18:05]
luc
git [2023/11/08 21:12] (Version actuelle)
luc
Ligne 1: Ligne 1:
 ====== GIT ====== ====== GIT ======
- 
-[[gitManageWebsite|manager un site web via git]] 
  
 Ah, git... tout est dit, non ?\\ Ah, git... tout est dit, non ?\\
Ligne 9: Ligne 7:
 \\ \\
 On trouve pas mal de "super tutos", des cheat-list, etc... pour savoir comment utiliser git en ligne de commande : j'ai jamais rien compris et nombreux sont ceux qui peuvent témoigner du nombre de jurons que j'ai pu proférer contre git. Alors cette page n'a pas pour vocation d'être un autre de ces tutos, mais elle revient plutôt à l'essence même de ce site : être mon aide mémoire. C'est à dire exposer les commandes dont j'ai besoin et les qques concepts qu'il faut connaître pour les comprendre.\\ On trouve pas mal de "super tutos", des cheat-list, etc... pour savoir comment utiliser git en ligne de commande : j'ai jamais rien compris et nombreux sont ceux qui peuvent témoigner du nombre de jurons que j'ai pu proférer contre git. Alors cette page n'a pas pour vocation d'être un autre de ces tutos, mais elle revient plutôt à l'essence même de ce site : être mon aide mémoire. C'est à dire exposer les commandes dont j'ai besoin et les qques concepts qu'il faut connaître pour les comprendre.\\
 +La plupart des explications de cet article viennent de http://git-scm.com/doc \\
 \\ \\
 Outils pratiques : Outils pratiques :
   * [[http://gitlist.org|gitList]], une sorte de visionneuse web du dépôt git (fichiers, historiques des commit...)   * [[http://gitlist.org|gitList]], une sorte de visionneuse web du dépôt git (fichiers, historiques des commit...)
-  * [[http://gogs.io|gogs]] qui en plus des fonctions de visionneuse rajoute des métadonnées autour du projet (wiki, issue/milestone list..) et une dimension sociale si on code à plusieurs+  * [[http://gogs.io|gogs]] qui en plus des fonctions de visionneuse rajoute des métadonnées autour du projet (wiki, issue/milestone list..) et une dimension sociale si on code à plusieurs /!\ il faut passer par le protocole https:// et non ssh:// pour que gogs soit au courant des modifs dans le dépot git 
 +  * [[https://gitlab.com|gitlab]], self-hostable, open source, mais un peu lourd en besoin de ressources, je lui préfère gogs
  
 ===== CONCEPTS ===== ===== CONCEPTS =====
Ligne 201: Ligne 201:
 # ajouter un nouveau dépôt distant  # ajouter un nouveau dépôt distant 
 git remote add REMOTE_NAME URL git remote add REMOTE_NAME URL
 +
 +# pour link un dépot distant avec une branche distante (pour avoir que git push et git pull)
 +git push -u REMOTE_NAME BRANCH_NAME
  
 # enlever un dépot distant # enlever un dépot distant
Ligne 263: Ligne 266:
 # supprimer une branche # supprimer une branche
 git branch -d BRANCH_NAME git branch -d BRANCH_NAME
 +
 +# git switch et git restore
 +# Le but de ces 2 commandes est de différencier les 2 activités de `git checkout` 
 +git switch <branch_name> # can now be used to change branches, as git checkout <branchname> does
 +git restore <file_path>  # can be used to reset files to certain revisions, as git checkout -- <path_to_file> does
  
  
Ligne 339: Ligne 347:
 git merge git merge
  
 +# Si on a foutu le bazar dans le repertoire mais qu'on a pas commit,
 +# retrouve le répertoire à l'état du dernier commit
 +git reset --hard HEAD
 +# Est-ce que ça touche aux fichiers non indexés ? Non
 </code> </code>
  
Ligne 352: Ligne 364:
  
 !!! les merge se font avec l'option ''--no-ff'', pour éviter de reporter les commit de développement d'une fonctionnalité particulière dans les branches principales (''master'', ''dev'') !!! les merge se font avec l'option ''--no-ff'', pour éviter de reporter les commit de développement d'une fonctionnalité particulière dans les branches principales (''master'', ''dev'')
 +
 +
 +===== PROTOCOLES =====
 +
 +On peut utiliser plusieurs protocoles selon ce qui est mis à dispo par le serveur pour synchroniser un dépôt git :
 +
 +<code bash>
 +# il y a ssh
 +git clone ssh://ID@HOTE:PATH
 +# PATH peu être relatif ou absolu
 +
 +# ssh + port spécifique 
 +git clone ss://ID@HOTE:PORT/ABS_PATH
 +
 +# il y a https (peut être utile pour mettre à jour un service de suiv comme github, gogs ou gitlab
 +git clone https://URL
 +</code>
git.1453226703.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)