Un guide de référence sur Git
Un dépôt Git du DSFR pour SPIP (une des versions existantes)
Si vous avez fork un dépôt github ou gitlab pour proposer des pull/merge requests, vous devrez peut-être travailler sur la dernière version à jour du dépôt original. Les interfaces graphiques ne vous permettent pas de rester à jour avec exactement les mêmes commits. Si vous avez déjà essayé graphiquement, vous avez probablement dû inclure différents merge commit.
De fait, pour pouvoir continuer à participer au développement, ou garder à jour votre propre fork avec les dernières modifications du dépôt d’origine, vous devrez le gérer localement avec quelques lignes de commande. Toutes les lignes de commande ci-dessous doivent être exécutées dans un Terminal. Souvenez-vous que vous avez une interface “Terminal” dans votre IDE Rstudio pour gérer votre système en lignes de commande.
Howto pour rebaser un fork Github :
I recently forked a project and applied several fixes. I then created a pull request which was then accepted.
A few days later another change was made by another contributor. So my fork doesn’t contain that change.
How can I get that change into my fork?
traduire
Add the remote, call it "upstream":
git remote add upstream https://github.com/whoever/whatever.git
Fetch all the branches of that remote into
remote-tracking branches, such as upstream/master:
git fetch upstream
Make sure that you're on your master branch:
git checkout master
Rewrite your master branch so that any commits of yours
that aren't already in upstream/master are replayed
on top of that other branch:
git rebase upstream/master
force the push in order to push it to your own
forked repository on GitHub
git push -f origin master
Git rebase fork with upstream
git remote add upstream git@xxxx.xxx
git fetch upstream
git co master
git rebase upstream/master
git push origin master
Au niveau d'une commande
Il est également possible d'ignorer le changement de mode uniquement sur une commande Git.
Par exemple sur un git status, ou un git diff.
$ git -c core.fileMode=false diff
Git est compliqué : c'est facile de tout foirer et foutrement impossible de réparer ses erreurs. La documentation de Git tient du problème de l'œuf et de la poule : pour y chercher comment vous sortir du bordel il faut déjà connaître le truc qu'il faut savoir pour résoudre votre problème.
Voici donc quelques exemples de mauvais pas où je me suis fourré, et comment j'ai réussi à m'en tirer, tout ça en français dans le texte*.
Cet article présente les informations et étapes permettant de se servir des dépots git.spip.net pour proposer un patch (une ’PR’ pull request) pour le noyau de SPIP et pour les plugins-dist.
Comment créer un bon changelog ?
Des cours en ligne sur Git, gartuits
Vous souhaitez apprendre l'usage de Git, j'ai trouvé une source de vidéos intéressantes publiées par GitHub et détaillant les principales fonctionnalités de Git : git merge, git push, git commit ...
Si vous souhaitez comprendre l'ensemble des fonctionnalités basiques, ces vidéos peuvent être un bon départ.
Une spécification ajoutant une signification lisible pour l'homme et pour la machine dans les messages des commits
Une page anti-sèche sur l'usage des commandes git
Je vous propose un tutoriel sur l’installation de la forge Libre Gitea sur un NAS Synology avec une petite nuance par rapport à ce qu’on trouve habituellement sur le sujet: on n’utilisera pas Docker…
Dans cet article, nous allons voir les conséquences de commiter de trop gros fichiers sur un dépôt Git et surtout une solution pour y remédier.
Réduire l’espace de stockage utilisé par Git.
Une liste de clients GIT pour Windows
Quand un dev t'explique comment il utilise Git pour développer efficacement les nouvelles fonctionnalités et les propager en prod avec méthode... Brillant !
git bisect permet de trouver le commit qui a introduit un bug. Plus industrialisé que svn up -r fait manuellement
Référence des commandes de base de GIT, pour démarrer !