informatique:git
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
informatique:git [06/04/2017 10:57] – [Create a Branch] cyrille | informatique:git [18/10/2022 08:39] – [Changer des commits de branche] cyrille | ||
---|---|---|---|
Ligne 19: | Ligne 19: | ||
* [[http:// | * [[http:// | ||
- | ==== Tips ==== | + | ===== Credentials ===== |
+ | |||
+ | |||
+ | === Spécifier la clé ssh === | ||
+ | |||
+ | Sur la ligne de commande: | ||
+ | |||
+ | <code bash> | ||
+ | GIT_SSH_COMMAND=' | ||
+ | </ | ||
+ | |||
+ | Dans la configuration git du projet: | ||
+ | |||
+ | <code ini> | ||
+ | # vi .git/ | ||
+ | [core] | ||
+ | sshCommand="/ | ||
+ | </ | ||
+ | |||
+ | Dans la configuration du client ssh: | ||
+ | |||
+ | <code bash> | ||
+ | # cat ~/ | ||
+ | Host gitlab.com | ||
+ | Hostname gitlab.com | ||
+ | IdentityFile / | ||
+ | IdentitiesOnly yes | ||
+ | </ | ||
+ | |||
+ | === 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 | ||
+ | </ | ||
+ | |||
+ | ===== Tips ===== | ||
* [[http:// | * [[http:// | ||
Ligne 29: | Ligne 69: | ||
* sub-modules | * sub-modules | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | === Revenir à une version précédente, | ||
+ | |||
+ | Rewind local & remote | ||
+ | |||
+ | <WRAP center round important 50%> | ||
+ | Attention, pas de retour arrière possible, c'est pour toujours | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | git reset --hard 4a3ba7 | ||
+ | git push -f | ||
+ | </ | ||
+ | |||
+ | **Gitlab** interdit par défaut le push forcé '' | ||
+ | {{ : | ||
=== 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" | + | Annuler le "git add" |
+ | <code bash> | ||
$ git reset < | $ git reset < | ||
+ | </ | ||
=== 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' | ||
+ | <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. | ||
+ | </ | ||
=== Force pull === | === Force pull === | ||
Ligne 134: | Ligne 211: | ||
Delete remote: | Delete remote: | ||
git push origin --delete < | git push origin --delete < | ||
+ | |||
+ | === Log & graph === | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | '' | ||
+ | |||
===== Tools ===== | ===== Tools ===== |
informatique/git.txt · Dernière modification : 25/08/2023 13:01 de cyrille