GIT

GIT permets de travailler a plusieurs sur un projet sans problème de synchronisation et un historique des modifications.

Clone

Permets de copier les fichier d’un projet en local

git clone [URL]

branch

Une branche représente une ligne de développement indépendante. Vous pouvez les considérer comme un moyen de demander un nouveau répertoire de travail.

git branch [NOM_DE_LA_BRANCHE] // Créer une branche
gitGraph
    commit id: "fed508"
    commit id: "84c404"
    branch "branche 1"
    commit id: "47f3c56c"
    checkout main
    commit id: "73414"
    commit id: "14caf2e"
    branch "branche 2"
    commit id:"2a3f6"
    commit id:"26ec02"
    commit id:"f3afaa4e3"
    checkout main
    commit id: "6e06726"

git checkout

Permets de se déplacer sur un commit ou une branche

git checkout [COMMIT|BRANCHE]

git commit

Permets d’enregistrer les changements

git commit -m [MESSAGE]

git push

Permets d’envoyer les commit local sur git

git push

Note : git push –-force va écraser la branche distantes avec les information de la branche local

git fetch

Récupère l’historique des modifications distantes

git fetch

git pull

Récupère les modifications distantes sur la branche courante

git pull

git merge

Permets de fusioner 2 branches

# Start a new feature
git checkout -b new-feature main
# Edit some files
git add <file>
git commit -m "Start a feature"
# Edit some files
git add <file>
git commit -m "Finish a feature"
# Merge in the new-feature branch
git checkout main
git merge new-feature
git branch -d new-feature

Rebase

Réappliquer les commits au dessus d’une autre branche

git rebase master
// ou
git rebase master topic
// puis
git push --force-with-lease // Note --force sur gitkraken
gitGraph
  commit id: "84c404"
  commit id: "14caf2e"
  branch "topic"
  commit id: "47f3c56c"
  checkout main
  commit id: "73414"
  checkout main
  commit id: "6e06726"
gitGraph
  commit id: "84c404"
  commit id: "73414"
  commit id: "14caf2e"
  checkout main
  commit id: "6e06726"
  branch "topic"
  commit id: "47f3c56c"

git reset

Permets de supprimmer les modifcation locale

git reset --hard HEAD~ // supprime toutes les modifications locale

git config

Permets de configurer git

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com 

git config --system core.longpaths true // Pour erreur : Filename too long

git config --global --add safe.directory [Chemin_du_Projet ou '*'] // Rajoute un chemin considéré comme sûrs pour GIT
// Ce paramètre de configuration permet aux utilisateurs de spécifier des exceptions, par exemple pour des chemins partagés intentionnellement

Aide