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
informatique:git [02/08/2021 11:27] – [Tips] cyrilleinformatique:git [25/08/2023 13:01] (Version actuelle) – [Rétablir un fichier depuis un commit] cyrille
Ligne 46: Ligne 46:
     IdentityFile /home/user/.ssh/the_private_key     IdentityFile /home/user/.ssh/the_private_key
     IdentitiesOnly yes     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> </code>
  
Ligne 60: Ligne 71:
     * [[https://delicious-insights.com/fr/articles/git-submodules/|Comprendre et maîtriser les submodules Git]]     * [[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 76: 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 87: 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 118: Ligne 164:
   $ git diff --cached # pour vérifier la modif   $ git diff --cached # pour vérifier la modif
   $ git commit -a -m “merge [SHA du commit]"   $ git commit -a -m “merge [SHA du commit]"
 +
 +=== Rétablir un fichier depuis un commit ===
 +
 +''git checkout <commit> -- <file>''
 +
 +<code bash>
 +$ git log --oneline resources/views/auth/register.blade.php
 +f5d16d4 (HEAD -> main, origin/main) WIP refactorize User data #13
 +1f27c64 User registration
 +5cfb6d7 initial code (bis)
 +
 +$ git checkout 1f27c64 -- resources/views/auth/register.blade.php
 +
 +$ git status
 +
 +Sur la branche main
 +Votre branche est à jour avec 'origin/main'.
 +
 +Modifications qui seront validées :
 +  (utilisez "git restore --staged <fichier>..." pour désindexer)
 + modifié :         resources/views/auth/register.blade.php
 +</code>
  
 === Create a Tag === === Create a Tag ===
Ligne 165: Ligne 233:
 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.1627896431.txt.gz · Dernière modification : 02/08/2021 11:27 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