background preloader

Pour arrêter de galérer avec Git « Développeur web freelance

Pour arrêter de galérer avec Git « Développeur web freelance
J'adore Git ! Depuis 5 ans que je l'utilise quotidiennement, je ne me lasse pas d'admirer la puissance sublime de cet outil, et je ne compte plus les fois ou ma vie fut sauvée par l'une ou l'autre de ces obscures mais miraculeuses commandes. D'ailleurs, n'est-ce pas Aristote qui as dit « Donnez-moi vim et git, et je soulèverai le monde » ? Je dois pourtant reconnaître que Git n'est pas forcément l'outil le plus abordable qui soit. C'est surtout après avoir eu l'occasion de donner une formation de 2 jours sur Git récemment que j'ai pu vraiment approfondir certains concepts, résoudre un certain nombre de « WTF ?! Tenez, prenez l'exemple suivant : Comment j'annule une modification d'un fichier ? git checkout Ok, comment je change de branche ? Ok, et comment je créé une nouvelle branche ? Mmm… Ok, et comment je supprime une branche ? git branch -d ma_branche D'accord, et comment je supprime une branche distante ? git push origin :ma_branche Heu… Comprendre les zones et le workflow de travail Quoi ?!

Le guide ultime et définitif sur la programmation orientée objet en Python à l’usage des débutants qui sont rassurés par les textes détaillés qui prennent le temps de tout expliquer. Partie 1. Prérequis à ce tuto bien chargé : comprendre parfaitement les mots clés les plus courants (conditions, tests, pass, etc);comprendre parfaitement les fonctions (et donc les paramètres avancées en Python);comprendre la notion de référence;connaitre les structures de données de base (string, int, list, dict, etc). Intro Il y a des tas de manières de programmer. Des styles. En vérité, le point de vue n’est pas déterminant. Mais chaque point de vue possède des caractéristiques et des outils différents. Ce que vous allez voir est ce qu’on appelle la programmation orientée objet, ou POO. Quand vous avez appris la programmation, on vous a montré comment stocker des données dans des structures de données: les listesles chaînesles entiersles dictionnairesetc Et on vous a montré comment créer un comportement pour votre programme en utilisant des mots clés, puis plus tard en utilisant des fonctions pour regrouper ces mots clés. C’est tout. Qu’est-ce qu’un objet Un objet est un… truc. On dit ici: Méthodes

Configuring git colors (Shallow Thoughts) - Iceweasel I spent a morning wrestling with git after writing a minor GIMP fix that I wanted to check in. Deceptively simple ideas, like "Check the git log to see the expected format of check-in messages", turned out to be easier said than done. Part of the problem was git's default colors: colors calculated to be invisible to anyone using a terminal with dark text on a light background. And that sent me down the perilous path of git configuration. git-config does have a manual page. But that's okay, thought I: all I need to do is list the default settings, then change anything that's a light color like yellow to a darker color. Well, no. But you can find most of them with a seach for GIT_COLOR in the source. gitconfig The next step is to translate those C lines to git preferences, something you can put in a .gitconfig. The syntax and colors are fairly clearly explained in the manual: allowable colors are normal, black, red, green, yellow, blue, magenta, cyan and white.

Exemples de bons codes Python Yeah, on a des fannnnnnns ! Ça fait quelques semaines que je me suis mis à python. J’ai commencé par des scripts (tendance sysadmin oblige) puis je me suis lancé dans des choses un (petit) peu plus importantes, notamment influencé par les cours sur la POO. Cher [censored], Être placé au dessus du site du zéro provoque chez moi une érection incontrôlée. Bonne nouvelle, il n’existe rien de tel que le code parfait, et des tas d’excellents dev font de la merde quotidiennement, ce qui permet de relativiser face à son niveau. Maintenant, si je devais donner des exemples de code et doc dont on peut s’inspirer, je dirais : les modules strings et structs de batbelt sont faciles pour commencer et propres. Petit rappel ceci dit : même un bon code a toujours des lacunes. De plus, d’une manière générale, les gens qui publient de bons codes font des trucs un peu plus compliqués qu’un simple script. A éviter niveau code : django, bottle, twisted et les frameworks web en général.

A quick guide to pull requests « Otaku, Cedric's blog - Iceweasel It’s pretty common for projects hosted on GitHub to receive “pull requests”: requests from people who have cloned your project, made a modification to it and then asking you to merge their changes back into the main project. There are a lot of ways you can handle these pull requests, here are some of them. Using GitHub’s web interface If you go to the “Fork Queue” panel of your GitHub dashboard, you will see all the pull requests that have been issued by contributors. I rarely use the web interface because I usually want to test the changes on my machine before committing them. Having said that, the web interface is convenient to quickly apply cosmetic commits that don’t change any code (documentation updates, space clean up, etc…). git am The git am command allows you apply a diff to your working directory. This works with regular commits as well: After this, you can just push your branch. Merging the remote branch Cherry picking Have I forgotten anything?

Apprendre mieux | Un blog de Bernard Lamailloux everything I know about git - Iceweasel Chapitre 1. Introduction - Iceweasel Je vais me servir d’une analogie pour présenter la gestion de versions. Référez-vous à la page de wikipedia sur la gestion de versions pour une explication plus censée. J’ai joué à des jeux vidéos presque toute ma vie. Par contre, je n’ai commencé à utiliser des systèmes de gestion de versions qu'à l'âge adulte. Je pense ne pas être le seul dans ce cas et la comparaison entre les deux peut rendre les concepts plus simples à expliquer et à comprendre. Pensez à l'édition de votre code, ou de votre document, comme s’il s’agissait de jouer à un jeu. Mais ceci va écraser l’ancienne version. Lorsque vous modifiez un document, dans le but de conserver les anciennes versions, vous pouvez l'"Enregistrer Sous…" un nom de fichier différent ou le recopier ailleurs avant de l’enregistrer. Rendons le problème légèrement plus coriace. Dans le cas de certains jeux vidéo, l’enregistrement d’une partie est réellement constitué d’un dossier rempli de fichiers.

A Note About Git Commit Messages - Iceweasel 19 Apr 2008 I want to take a moment to elaborate on what makes a well formed commit message. I think the best practices for commit message formatting is one of the little details that makes Git great. Here’s a model Git commit message: Capitalized, short (50 chars or less) summary More detailed explanatory text, if necessary. Let’s start with a few of the reasons why wrapping your commit messages to 72 columns is a good thing. git log doesn’t do any special special wrapping of the commit messages. Vim users can meet this requirement by installing my vim-git runtime files, or by simply setting the following option in your git commit message file: :set textwidth=72 For Textmate, you can adjust the “Wrap Column” option under the view menu, then use ^Q to rewrap paragraphs (be sure there’s a blank line afterwards to avoid mixing in the comments). $ defaults write com.macromates.textmate OakWrapColumns '( 40, 72, 78 )'

Git cheat sheet, extended edition « Creative Engineering - Iceweasel A few days ago, I posted a cheat sheet for Git (just as last time, Git is a really cool revision control system). Let’s face it: it was ugly. Not something you would actually hang up where other people could see it, was it? Here’s the remedy, which also works on both A4 and Letter and is more detailed. In more detail, the additional details are: The old “structure overview” diagram showing the big picture of repositories and working trees is now a lot bigger and a lot more detailed. So how’s it look like? Because Inkscape saw fit to generate annoyingly huge PDF files from the source, this time you get a zipped two-page PDF document as well as the Inkscape source files. Another thing that I didn’t pay attention to last time was the license.

Related: