Outils pour utilisateurs

Outils du site


informatique: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
Dernière révisionLes deux révisions suivantes
informatique:git [08/01/2016 10:04] – [Delete a Tag] cyrilleinformatique:git [18/10/2022 08:39] – [Changer des commits de branche] cyrille
Ligne 19: Ligne 19:
   * [[http://openclassrooms.com/courses/gerer-son-code-avec-git-et-githubl|Gérez vos codes sources avec Git]] sur OpenClassRooms.   * [[http://openclassrooms.com/courses/gerer-son-code-avec-git-et-githubl|Gérez vos codes sources avec Git]] sur OpenClassRooms.
  
-==== Tips ====+===== Credentials ===== 
 + 
 + 
 +=== Spécifier la clé ssh === 
 + 
 +Sur la ligne de commande: 
 + 
 +<code bash> 
 +GIT_SSH_COMMAND='ssh -i .ssh/the_private_key' git clone git@gitlab.com:Namespace/Project/theproject.git 
 +</code> 
 + 
 +Dans la configuration git du projet: 
 + 
 +<code ini> 
 +# vi .git/config 
 +[core] 
 +  sshCommand="/usr/bin/ssh -i /home/user/.ssh/the_private_key" 
 +</code> 
 + 
 +Dans la configuration du client ssh: 
 + 
 +<code bash> 
 +# cat ~/.ssh/config 
 +Host gitlab.com 
 +    Hostname gitlab.com 
 +    IdentityFile /home/user/.ssh/the_private_key 
 +    IdentitiesOnly yes 
 +</code> 
 + 
 +=== avec HTTPs === 
 + 
 +On peut configurer git pour conserver en cache (en mémoire) un certain temps le mot de passe pour HTTPs. 
 + 
 +<code bash> 
 +[core] 
 +        user = username 
 +[credential] 
 +        helper = cache --timeout=3600 
 +</code> 
 + 
 +===== Tips =====
  
   * [[http://stackoverflow.com/questions/1123344/merging-between-forks-in-github|Merging between forks in GitHub]]   * [[http://stackoverflow.com/questions/1123344/merging-between-forks-in-github|Merging between forks in GitHub]]
Ligne 29: Ligne 69:
   * sub-modules   * sub-modules
     * [[http://git-scm.com/book/en/Git-Tools-Submodules|6.6 Git Tools - Submodules]]     * [[http://git-scm.com/book/en/Git-Tools-Submodules|6.6 Git Tools - Submodules]]
 +    * [[https://delicious-insights.com/fr/articles/git-submodules/|Comprendre et maîtriser les submodules Git]]
 +
 +
 +=== Revenir à une version précédente, pour toujours ===
 +
 +Rewind local & remote
 +
 +<WRAP center round important 50%>
 +Attention, pas de retour arrière possible, c'est pour toujours
 +</WRAP>
 +
 +<code bash>
 +git reset --hard 4a3ba7
 +git push -f
 +</code>
 +
 +**Gitlab** interdit par défaut le push forcé ''remote: GitLab: You are not allowed to force push code to a protected branch on this project''. Il faut l'autoriser dans les options de la branche: "Settings / Repositories / Protected branches /  Allowed to force push".
 +{{ :informatique:git:gitlab_forced-push_allow.png?nolink&620 |}}
  
 === Créer un dépôt depuis un projet existant === === Créer un dépôt depuis un projet existant ===
Ligne 45: Ligne 103:
 === Cancel an add === === Cancel an add ===
  
-Annuler le "git add" d'un fichier+Annuler le "git add" de fichier(s) 
 +<code bash>
 $ git reset <le_fichier> $ git reset <le_fichier>
 +</code>
 === Amend last commit === === Amend last commit ===
  
Ligne 56: Ligne 115:
   $ git add le_fichier   $ git add le_fichier
   $ git commit --amend   $ git commit --amend
 +
 +=== Changer des commits de branche ===
 +
 +//move commits to another branch//
 +
 +**La version simple**: Je viens de pousser un ou plusieurs commits mais j'aurai dû le faire dans une branche
 +<code bash>
 +# Créer nouvelle branche depuis main, elle contiendra les commits en question
 +git branch oups-branch
 +# reset d'un ou plusieurs (n) commits selon HEAD~n
 +git reset --hard HEAD~1
 +# ou remplacer HEAD~n par le hash du commit voulu
 +git checkout oups-branch
 +# forcer le push vers le remote
 +git push -f
 +# possible erreur si branch protégée:
 +# remote: GitLab: You are not allowed to force push code to a protected branch on this project.
 +</code>
  
 === Force pull === === Force pull ===
Ligne 112: Ligne 189:
   Créer la branche sur le remote   Créer la branche sur le remote
   $ git push origin origin:refs/heads/nom_nouvelle_branche   $ git push origin origin:refs/heads/nom_nouvelle_branche
-  Se connecter locamenet à la branch +  Se connecter localement à la branch
-  $ git branch --track nom_nouvelle_branche origin/nom_nouvelle_branche+
   $ git checkout nom_nouvelle_branche   $ git checkout nom_nouvelle_branche
   $ git pull   $ git pull
Ligne 135: Ligne 211:
 Delete remote: Delete remote:
   git push origin --delete <branchName>   git push origin --delete <branchName>
 +
 +=== Log & graph ===
 +
 +{{ :informatique:git:git-log-graph.png?nolink&400}}
 +
 +''git log --graph''
 +
  
 ===== Tools ===== ===== Tools =====
informatique/git.txt · Dernière modification : 25/08/2023 13:01 de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki