Git | JS Natif | React | React native | Nuxt Js | Test js | BEM | Jest
Configurer les informations utilisateur pour tous les repos locaux
git config --global user.name "[name]"
Définit le nom que vous souhaitez attacher à vos commits
git config --global user.email "[email address]"
git config --global color.ui auto
Permet une coloration des lignes de commandes en sortie
Démarrer un nouveau repo ou en obtenir un à partir d'une URL existante
git init [project-name]
Crée un nouveau repo local avec le nom spécifié
git clone [url]
Télécharge un projet et son historique de version
git status
Répertorie tous les nouveaux fichiers ou modifiés à être validés
git diff
Affiche les différences entre les fichiers qui n'ont pas encore été stage (avant git add .) et les fichiers du dernier commit
git add [file]
Mise en zone de staging. Prepare les fichiers pour le versionning
git diff --staged
Affiche les différences entre les fichiers dans la zone de staging et les fichiers du dernier commit
git diff-tree --no-commit-id --name-only -r
Lister tous les fichiers concernés par un commit
git reset [file]
Enlève le fichier de la zone de staging en gardant les modifications apportées au fichier
git commit -m "[descriptive message]"
Enregistre les fichiers de la zone de staging dans l'historique de versionning
git branch
Liste toutes les branches locales du repo courant
git branch [branch-name]
Crée une nouvelle branche
git branch --contains
Lister les branches qui contiennent un commit en particulier
git checkout [branch-name]
Se déplacer sur une branch
git checkout -b [branch-name]
Crée la branche et se positionne dessus
git merge [branch]
Combine l'historique de la branche spécifiée dans la branche courante
git branch -d [branch-name]
Supprimer une branche
git rm [file]
Supprime le fichier du répertoire de travail et envoye dans la zone de staging le fichier supprimer
git mv [file-original] [file-renamed]
Modifie le nom du fichier et le prépare pour le commit (zone de staging)
git log
Liste l'historique des versions de la branche courante
git log --follow [file]
Liste l'historique de version pour un fichier spécifique, y compris les fichiers renommés
git log master..[branch-name]
Liste uniquement les commit de [branch-name] même si on merge master sur [branch-name]
git diff [first-branch]...[second-branch]
Affiche les différences de contenu entre deux branches
git show [commit]
Affiche les métadonnées et les changements de contenu pour le commit spécifié
Exclure les fichiers temporaires et les chemins d'accès
*.log
build/
temp-*
Un fichier nommé .gitignore permet d'ignorer certains fichiers/dossiers de l'historique de versions
git ls-files --other --ignored --exclude-standard
Liste tous les fichiers ignorés dans ce projet
git reset [commit]
Défait tous les commits après le commit spécifié et garde les modifications localement
git reset --hard [commit]
Défait tous les commits après le commit spécifié et et supprime le modification locale.
Permet de revenir à la version du code au moment du commit spécifié
git reflog
Revenir sur certaines commandes trop impulsives (comme un reset ou un rebase)
Mettre de côté ou restaurer des modifications incomplètes
git stash
Stocke temporairement tous les fichiers modifiés mais pas encore en zone de staging
git stash pop
Restaure les fichiers qui ont été stash
git stash list
Liste tous les fichiers en zone de stash
git fetch [bookmark]
Télécharge tout l'historique du repo bookmark
git merge [bookmark]
Fusionne la branche bookmark avec la branche courante (Se positionner sur la branche sur laquelle on veut faire la fusion)
git push [alias] [branch]
Upload tous les commits
git pull
Télécharge tous les commits
Le rebase interactif permet de retravailler son historique avant de merge
git rebase -i [code commit]
pick => utiliser le commit
reword => renommer un commit
squash => permet de fusionner le commit avec le commit précédent
fixup => peremt de fusionner le commit avec le commit précédent mais supprime le log message
drop => supprime un commit
git rebase --abort
Permet de quitter le mode rebase