par Benjamin DIELEMAN
décembre 2019
# Créer une clé SSH
ssh-keygen -t rsa -b 2048
cat ~/.ssh/id_rsa.pub
# Ajouter au compte Gitlab, puis tester authentification
ssh git@gitlab.iut-valence.fr
git clone
ou git remote add
cd
mkdir git-formation-monidentifiant
cd git-formation-monidentifiant
git init
git remote add origin git@gitlab.iut-valence.fr:monidentifiant/git-formation-monidentifiant.git
git ci --allow-empty -m "Initial commit"
git push -u origin master
Create runner for update job
UpdateJobRunner handle execution of an update job
1° Can run a background process to execute the job separately
2° Is called by the process to execute the update job
Create UpdateJobRunnerFactory service
Tracker #1505
Define directory to store update job reports
Enable Sqlite database
Configure Doctrine with pdo_sqlite driver
(BD) Install kilik/table
Improve the project
Fix some bugs
Fix that + Improve this + Add something + Buy coffee
C'est un trou de verdure où chante une rivière, Accrochant follement aux herbes des haillons
git add {file|directory}
git status
: Vérifie l'état du staginggit commit
touch index.html
git add index.html
git status
git commit
nano index.html # <html><body><h1>yep</h1></body></html>
git add .
git st
git ci
touch page.html
nano index.html # <a href="page.html">Page</a>
git add .
git st
git ci
git push
git push
git push {remote} {branche}
: Envoi de la branchegit push origin -u new-feature:new-feature
: Envoi et lie de la branchegit push origin :new-feature
: Supprime branche distantegit push --force
: Jamais pour une branche partagée
git checkout
git checkout {branch/commit}
# Déplace le `HEAD` et garde les modifs en cours
# Change de branche ou reviens à un état antérieur...
git checkout master # Je positionne HEAD sur le master
git branch test # nouvelle branche depuis HEAD
git checkout test # positionne sur la branche
git commit # commit sur la nouvelle branch
git checkout master -b test
git co master -b branche-1
touch file-1.html # + commit
git push origin -u branche-1
git co master
git pull # Log ?
git co -b branche-2
touch file-2.html # + commit
git co master
git merge branche-2
git push # On pousse le master avec la branche mergée
git co master
git co -b branche-3
touch file-3.html # + commit
git co master
git merge --no-ff branche-3
git push
cd ..
git clone git@gitlab.iut-valence.fr:colleguedegauche/git-formation-colleguedegauche.git
cd git-formation-colleguedegauche
git co master -b branche-monidentifiant
touch fonction-monidentifiant.html # + commit
git push origin -u branche-monidentifiant
cd ../git-formation-monidentifiant
git co master
# Corriger le index.html + commit + push
cd ../git-formation-colleguedegauche
# Récupère son travail sur le master
git co master
git fetch # git log pour voir
git pull
git co branche-monidentifiant
git rebase master
git push --force
# ⚠ pas de push --force sur des branches partagées
A---B---C---D ← master
\
E---F---G ← new-feature
A---B---C---D ← master
\
E'---F'---G' ← new-feature
git fetch
git fetch
=> Ajoute / Met à jour les références origin/*
git fetch --prune
git branch --all
git pull
git pull {remote}
git pull {remote} {branche}
Les pull sont en mode rebase.
cf config globale dans .gitconfig
l1 = log --graph --oneline --decorate --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%<(50,trunc)%s%Cblue\\ [%cn]" --date=short
l2 = log --stat --oneline --decorate --graph --all
l5 = log --name-status --graph --oneline --decorate --all --pretty=format:"%C(yellow)%h\\ %Cblue%ad%Cred%d\\ %C(cyan)%<(50,trunc)%s%Cblue\\ [%cn]" --date=short