Git Repositories

Rebase + Squelette de ce qui reste
authorCyrille Pontvieux <jrd@enialis.net>
Wed, 18 May 2016 22:14:42 +0000 (00:14 +0200)
committerCyrille Pontvieux <jrd@enialis.net>
Wed, 18 May 2016 22:31:21 +0000 (00:31 +0200)
supports/advanced/slides_git_advanced.md

index a11c9b2..81fef04 100644 (file)
@@ -341,24 +341,121 @@ Nommage :
 
 ---
 
-# TODO
+# Les différents rebases
+.fx: chapter
+
+---
+
+# Rebase -i
+- Permet de réorganiser complètement un ensemble de commits
+- **Réordonner** des commits
+- **Fusionner** des commits
+- **Découper** un commit en plusieurs
+- **Changer** le message d'un commit
+- **Éditer** un commit (*pour enlever le mot de passe de prod*)
+- **Supprimer** un commit
+- Tout se fait dans un simple fichier texte temporaire
+# Presenter Notes
+- squash (édition du message) and fixup (pas d'édition)
+- reword (changer le message)
 
 ---
 
-# TODO
+# Rebase -i exemple
+
+TODO fichier texte
 
 ---
 
-# TODO
+# Rebase branch1 branch2
+- Raccourci pour ne pas *checkouter* `branch2` avant de la rebaser sur `branch1`
+- Permet de chaîner les rebases puisque tout se fait en une seule commande
+- Attention, la branche d'origine n'est pas restaurée après le rebase
 
 ---
 
-# TODO
+# Rebase --onto
+- Permet de rebaser une portion de branche
+- Utile quand on veut rebaser une branche qui part d'une branche qui a elle-même été rebasée
+- TODO Schéma
+
+---
+
+# Astuces
+.fx: chapter
+
+---
+
+# Astuces
+- update-index --assume-changed
+- autosetuprebase
+- autosquash
+- rerere (*Reuse Recorded Resolution*)
+- Gestion des binaires :
+  - git LFS
+  - git diff sur odt ou docx
+- TODO couper ça en plusieurs slides
+# Presenter Notes
+- autosquash :
+```
+fixup = "!sh -c 'git commit -n --fixup=$1' -"
+squash = "!sh -c 'git commit -n --squash=$1' -"
+ri = rebase --interactive --autosquash
+```
+- git diff LibreOffice :
+```
+$ cat ~/.config/git/attributes
+*.odt diff=lo
+*.ods diff=lo
+*.odp diff=lo
+*.doc diff=lo
+*.docx diff=lo
+*.xls diff=lo
+*.xlsx diff=lo
+*.ppt diff=lo
+*.pptx diff=lo
+$ git config --global diff.lo.binary true
+$ git config --global diff.lo.textconv 'soffice -env:UserInstallation=file:///tmp/LO_Conversion_$USER --headless --cat'
+```
+
+---
+
+# Tâches non courantes
+.fx: chapter
+
+---
+
+# bisect **DEMO**
+
+---
+
+# repo cherry-pick
+
+---
+
+# git svn + svn2git
+
+---
+
+# filter-branch
+
+---
+
+# subtree/submodule
+
+---
+
+# Plate-formes
+.fx: chapter
 
 ---
 
-# TODO
+# github
+- fork
+- pull request
+- merge request
 
 ---
 
-# TODO
+# gitlab gitblit
+TODO