Je sais, vous faites tous git add .
comme Max des gros bourrins. Mais je vais partir du principe que certains d’entre vous font leurs commits avec amour, en prenant uniquement les fichiers dont ils ont besoin.
Et ces certains-d-entre-vous-qui-font-leurs-commits-avec-amour sont frustrés de devoir manuellement ajouter chaque fichier ou dossier.
Ceci est un message d’espoir pour notre minorité bafouée aux cris étouffés par la répression grondante des… Mais je m’égare.
La révolution s’appelle SCM Breeze, camarade
Ca s’installe les doigts dans le goulag:
git clone git://github.com/ndbroadbent/scm_breeze.git ~/.scm_breeze |
Et on rajoute ça dans le .bashrc:
[ -s "$HOME/.scm_breeze/scm_breeze.sh" ] && source "$HOME/.scm_breeze/scm_breeze.sh" |
Puis on copie git.scmbrc.example dans ~/.git.scmbrc:
cp ~./.scm_breeze/git.scmbrc.example ~/.git.scmbrc |
Et on a alors accès à la commande gs
, qui donne à peu prêt ça (shameless hotlinking):
En plus d’être vachement court à taper et d’avoir une sortie plus lisible, on obtient des pitis numéros a gauche (évidément). Et là, on peut faire des trucs vachement révolutionnaires comme:
ga 3 9 11 # rajoute uniquement ces fichiers pour les faire commiter ga 3..9 # rajoute les fichiers de 3 à 9 pour les commiter grm 3 # retire ce fichier grs 5 # soft reset sur le fichier |
Mais il y a encore mieux. Si vous connaissez autojump, vous apprecierez git_index
, livré par le parti avec SCM Breeze:
Un petit alias dans .bashrc:
alias c="git_index" |
Et à chaque fois qu’on rajoute un nouveau repo:
c --rebuild |
Après il suffit de faire:
c quelques_lettre_du_nom_du_repo |
Et où qu’on soit dans le système, on se retrouve dans le repo.
Vous pouvez en apprendre plus sur github.
PS: ouai, c’est du ruby…
Bonjour,
ca ressemble à une perle ce bidule ! je mets dans un coin oukcé que je l’oublierai pas
merci
Hey foxmask: n’hésite pas à poste tes articles sur Django sur reddit/r/PythonFr ou pythonlive.fr. Aujourd’hui je l’ai fais avec 2 de tes articles pour que tu vois ce que ça donne.
heu oui mais heu en fait pythonlive je vois comment ca marche mais reddit je n’ai pas saisi l’intéret. Pour moi ca ressemblait à un bookmarking à la delicious. A mieux regarder ca ressemble à un gestionnaire de planète comme ici http://www.django-fr.org/planete/ mais ranger par sujet/communaute/techno ?
Pour reddit je dois pouvoir automatiser la publication des liens via ifttt mais pas sur pythonlive ; faudra que j’y pense ;)
edit: finallement ifttt sait pas faire ; ca sera donc tout à la main.
Tiens apres avoir fait du tri dans mes notes evernote je retrouve ce billet
j’installe le truc et là, le drame …
je veux aller dans un de mes dossiers
Je suis fort aise de l’apprendre très cher, comment m’y rends-je ?
aucune idée car cd est aliasé, c’est pas malin d’aliaser les commandes systeme non ? :/
Chez moi ça marche ©
J’ai eu le même soucis que foxmask… dût trouver une soluce “crade”.
En revanche, les “git rm” (ga ou grs) ne marchent pas dès qu’on supprime un dossier :
fatal: Could not switch to '/../repertoire/': Aucun fichier ou dossier de ce type
Si tu as découvert un bug, le repoter à l’auteur lui fera très plaisir.
Sinon il y a aussi ça qui peut être utilisé partout:
– “git add -i” qui permet de faire des add en mode interactif (et permet même de commiter seulement quelques lignes d’un fichier !)
– “git gui” qui permet de lancer la GUI intégrée à Git, un clickodrome simple et efficace (sauf s’il y a vraiment beaucoup de fichiers)
Je sais que ce billet date un peu mais ça peu toujours servir :)
Je suppose qu’il faut installer plus que git-core.
git add -i est un peu moins pratique que scm breeze, mais au moins, pas besoin de l’installer.
Tiens c’est rigolo ça. Sous Windows, l’installation par défaut de git contient les commandes “git gui” et “gitk”, alors que sous CentOS il semble falloir installer le packet “git-gui” en plus. J’imagine que c’est pareil pour les autres plateformes, alors que pourtant le site officiel dit bien que “Git comes with built-in GUI tools (git-gui, gitk)”.
Bah, les distrib font ce qu’elles veulent après. Sur ubuntu c’est séparé aussi.
Je suppose que git doit pouvoir être utilisé sur un serveur sans serveur X, donc installé sans gui (qui aurait beaucoup plus de dépendances).