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édenteProchaine révisionLes deux révisions suivantes | ||
informatique:git [25/01/2015 16:19] – [Cancel an add] typo cyrille | informatique:git [18/10/2022 08:26] – [Amend last commit] Changer des commits de branche cyrille | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Gestionnaire de code sources. | Gestionnaire de code sources. | ||
- | Voir aussi: [[/ | + | Voir aussi: [[/ |
[[http:// | [[http:// | ||
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 26: | Ligne 66: | ||
* Annulé un/des Commit(s) : Revert or Reset ? | * Annulé un/des Commit(s) : Revert or Reset ? | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
* 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 44: | 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 116: | ||
$ git commit --amend | $ git commit --amend | ||
+ | === Changer des commits de branche === | ||
+ | |||
+ | **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 | ||
+ | </ | ||
=== Force pull === | === Force pull === | ||
Ligne 84: | Ligne 155: | ||
$ git checkout branch-destination | $ git checkout branch-destination | ||
$ git cherry-pick -n [Le SHA du commit] | $ git cherry-pick -n [Le SHA du commit] | ||
- | $ 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]" | ||
Ligne 94: | Ligne 165: | ||
Et ne pas oublier de publier ce nouveau tag (par défaut créé localement): | Et ne pas oublier de publier ce nouveau tag (par défaut créé localement): | ||
$ git push origin v1.0 | $ git push origin v1.0 | ||
+ | |||
+ | === Delete a Tag === | ||
+ | |||
+ | Pour supprimer une tag localement: | ||
+ | $ git tag -d release01 | ||
+ | puis sur le remote: | ||
+ | $ git push origin --delete release01 | ||
+ | ou | ||
+ | $ git push origin : | ||
+ | |||
=== Create a Branch === | === Create a Branch === | ||
Ligne 101: | Ligne 182: | ||
Créer la branche sur le remote | Créer la branche sur le remote | ||
$ git push origin origin: | $ git push origin origin: | ||
- | Se connecter | + | Se connecter |
- | $ git branch --track nom_nouvelle_branche origin/ | + | |
$ git checkout nom_nouvelle_branche | $ git checkout nom_nouvelle_branche | ||
$ git pull | $ git pull | ||
Ligne 116: | Ligne 196: | ||
Tous les commits de la branche « autre_branche » se retrouvent maintenant dans « destination ». | Tous les commits de la branche « autre_branche » se retrouvent maintenant dans « destination ». | ||
- | On peut supprimer | + | === Delete a Branch === |
+ | |||
+ | On peut supprimer | ||
+ | |||
+ | Delete local: | ||
git branch -d autre_branche | git branch -d autre_branche | ||
+ | Delete remote: | ||
+ | git push origin --delete < | ||
+ | |||
+ | === Log & graph === | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | '' | ||
+ | |||
===== Tools ===== | ===== Tools ===== |
informatique/git.txt · Dernière modification : 25/08/2023 13:01 de cyrille