GIT : Dans La Vraie Vie

Make sure you understand the basics

Plan

  1. Ignorer les Fichiers
  2. Les Branches
  3. Merge Conflict
  4. Revenir en Arrière
  5. Bonus

Idées

git stash, git cherry-pick, git rebase, git submodule

Ignorer des fichiers

.gitignore

# Ignore a folder
data/
.ipynb_checkpoints/
__pycache__/
# Ignore all npy files 
*.npy
*.pkl
*.p
*.pyc
# Ignore a particular file
my_file.png

Les Branches

Lister les branches

Créer une branche et se rendre dessus

git branch
git checkout -b nom_de_la_branche

Créer une branche

git branch nom_de_la_branche

Fusionner la branche "dev" vers la branche actuelle

git merge dev

Synchroniser une nouvelle branche avec le serveur

git push -u origin nom_de_la_branche

Les Branches

Les Branches

Merge Conflict

Merge Conflict

Revenir en Arrière (1)

git reset
git checkout -- mon_fichier
git revert
git commit --amend

Modifier le dernier commit

Enlever les modifications de la zone de staging

Annuler les changements du dernier commit

Abandonner les changements d'un fichier

Revenir en Arrière (2)

git reset --hard origin master
# Hash example (using 'git log --oneline')
# short version: 97d43dc
# long version:  97d43dcd220ce077e42e30fd8864372251ac18e8
git checkout hash_du_commit
# Go back to current commit
git checkout branch_name
git reset hash_du_commit

Abandonner les modifications locales

Revenir à un état (commit) précédent (temporaire)

Défaire tous les commits jusqu'à un état précis

Git BLAME !

Git Tag (1)

Git Tag (2)

git tag

List all tags

Create a new tag

git tag -a v1.0 -m "First stable version"
git push origin --tags

Sync local tags with server

Workflow

Pour Aller Plus Loin

Git diff magic

Git : Dans La Vraie Vie

By Antonin Raffin

Git : Dans La Vraie Vie

  • 1,346