var Phenix = function () {
Troll du Web depuis 1996

Git

Prendre en compte les branches avec git-svvn

En utilisant Git SVN, j’ai découvert un effet de bord assez indésirable : lorsque l’on utilise fait un dcommit pour envoyer les modifications sur le serveur, il envoie toutes les branches.

C’est très gênant, surtout si vous avez plusieurs choses en cours, et quelle pourrait casser votre application.

Heureusement, il y a une solution : lorsque vous clonez, il faut préciser le dossier du trunk :

  1. git svn clone -T trunk http://example.com/PROJECT

Git svn fera alors le lien master = trunk et vos autres branches seront tranquilles.

Voir en ligne : Checkout only certain branches with git-svn

Supprimer complètement un fichier d’un dépôt git

Cela arrive de temps en temps, sur une application qu’on connait mal ou qu’on a pas conçue : on fait un dépôt git, le git ignore, et on oublie un fichier de configuration avec des password dedans.

Et bien sur, manque de pot, vous avez déjà tout envoyer dans un dépôt public Github. Vraiment, c’est pas votre journée...

Bref, il existe une petite astuce pour supprimer un fichier de tout les commits du dépôt. C’est un peu lent, car il va réécrire chaque commit que vous avez fait sur le projet.

  1. git filter-branch --tree-filter 'rm filename' HEAD

Après il faut utiliser git push -f pour réécrire le dépôt en ligne. Généralement, on évite cette opération, mais dans le cas d’un fichier avec des codes d’accès, c’est un moindre mal.
Et bien entendu, cela ne vous dispense pas de changer le password en question !

Voir en ligne : Permanently remove files and folders from Git repo