background preloader

Scott Chacon on the Interwebs

Scott Chacon on the Interwebs
August 31, 2011 Issues with git-flow I travel all over the place teaching Git to people and nearly every class and workshop I’ve done recently has asked me what I think about git-flow. I always answer that I think that it’s great - it has taken a system (Git) that has a million possible workflows and documented a well tested, flexible workflow that works for lots of developers in a fairly straightforward manner. However, it does have its issues. One of the bigger issues for me is that it’s more complicated than I think most developers and development teams actually require. Both of these issues can be solved easily just by having a much more simplified process. Its simplicity gives it a number of advantages. GitHub Flow So, why don’t we use git-flow at GitHub? There are a number of advantages to deploying so regularly. Another advantage of deploying all the time is the ability to quickly address issues of all kinds. How We Do It So, what is GitHub Flow? That is the entire flow. Conclusion

Introduction à Subversion · 1 Introduction 1.1 Objectifs de ce document Ce document a pour objectif de servir d'aide-mémoire et de support de formation succinct au logiciel de contrôle de versions Subversion1. 1.2 Qu'est-ce que Subversion ? Subversion est un logiciel de gestion de sources et de contrôle de versions. 1.3 Pourquoi Subversion ? Il existe un grand nombre de logiciels du même type. Des comparatifs point à point peuvent être trouvés aux adresses suivantes : On pourra justifier rapidement le choix de Subversion par les arguments suivants : il est multiplateforme ; il s'agit d'un logiciel libre ; il fonctionne de manière centralisée ; son utilisation et son administration sont plus faciles que CVS ; il supporte plusieurs modes d'accès distants, dont SSH et WebDAV via Apache. 1.4 Configuration requise 2 Définitions 2.1 Notions générales 2.1.1 dépôt (repository) 4 Outils

I Want To Teach My Kid How to Program Computer programming is a practical skill that can be applied to many professions and hobbies besides software development. However, it can be intimidating to break into. This guide will help parents point their kids in the right direction to get started in programming. (And it is also useful for anyone to get into programming.) The Gist Kids as young as 9 (or even younger) can learn programming, it doesn’t require math skills beyond basic arithmetic.Making video games is the best way to learn programming and stay interested.Python is one of the best programming languages to learn for a first language.If your kid finds typing frustrating, then Scratch might be a better language to learn. There is no “best” age to start programming; any age is fine. Learning to program, like learning anything, is not about having a high IQ so much as being enthusiastic enough to practice and wanting to learn more. Deciding on a Programming Language Programming languages I recommend you not start out with:

Must Have Git Aliases: Advanced Examples - Be Present Now Over the course of a few years I piled up a long list of git aliases. This post will assume you know what aliases are and you have defined a few for yourself. I rely on many of them dozens of times a day. You can add all the examples below to the [alias] section of your .gitconfig. To acquire the full list of my aliases you can check out my .gitconfig on Github. Explore your history, the commits and the code Shorten and beautify your log command because you will use it a lot. List commits in short form, with colors and branch/tag annotations. And you can have it by adding this to your aliases section: ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate List commits showing changed files is invoked with git ll and looks like this: And you can have it with this: ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat List with no colors if you need to chain the out put with Unix pipes: lnc = log --pretty=format:"%h\\ %s\\ [%cn]"

Git undo last commit Pomodoro | Pomodoro Composition versus Inheritance | Chad Myers' Blog One score (minus five) years ago, in the age of yore and of our programming forefathers, there was written a little book. A seminal book. A book that would change things. There were many other greater and some lesser (but still great) works that were released around the same time (1995), but this one has remained a popular favorite among the object-oriented development crowd for some time. But this post isn’t about design patterns. As I have grown in my understanding of design and architecture, I have come to realize that the first chapter — titled “Introduction” — of this book is actually the most valuable part of it. In this post, I’d like to go through a few of the important points in this short, but powerful portion of the book to drive them home. Programming to an Interface, Not an Implementation This one was a little more difficult to pull off in C++ due to its peculiar way of typing objects. In the book, the author says: Consider this code example: Inversion of Control Containers

Using Git for Deployment - Dan Barber I’ve been using Git for deployment now for some time, and I thought it might be helpful to others if I document how I did it. Partly this is because I can’t find the original guide that I used, so if you recognise the method I use here and you did it first, let me know and I’ll attribute you! Update: This is the original article: Thanks to Tim for the link in his comment! For the purposes of this guide I’m going to assume that you have your website live already, and that it is not already in a Git repository. Setting up the server In order for this to work it will require two repositories on the server itself. We’ll start by initialising a repository in the live code directory on the server and committing the entire codebase. $ cd /var/www/myproject $ git init Initialized empty Git repository in /var/www/myproject $ git add . $ git commit The next step is to create a bare repository, also on the server, and push the live repo into it.

keep either file in merge conflicts committed 25 Feb 2009 Sometimes when trying to resolve a merge, you may want to keep one file instead of the other. You don’t need to open up the files and fix the potentially hundreds of conflicts, you just want to choose the one you want and be done with it. Sadly, this isn’t exactly clear in older versions of Git, but more recent ones have made it easier. Big thanks to Kevin Old for his post on the subject which reminded me about this issue. So, the scenario is: you’re in the middle of a merge, and you want to keep one file or the other. $ git merge master Auto-merged _layouts/default.html CONFLICT (content): Merge conflict in _layouts/default.html Auto-merged index.html CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result. There’s two unmerged files here. The following commands will keep the original file for index.html, and then use the merged in file only for _layouts/default.html. And for --ours:

The Pomodoro Technique® What is The Pomodoro Technique? EASY for anyone to use! Improves productivity IMMEDIATELY! FUN to do! Why Pomodoro? The Pomodoro Technique isn’t like any other time-management method on the market today. For many people, time is an enemy. Essential to the Pomodoro Technique is the notion that taking short, scheduled breaks while working eliminates the “running on fumes” feeling you get when you’ve pushed yourself too hard. Whether it’s a call, a Facebook message, or suddenly realizing you need to change the oil in your car, many distracting thoughts and events come up when you’re at work. Most of us are intimately acquainted with the guilt that comes from procrastinating. Who does the technique work for? These are all ways real folks use the Pomodoro Technique: Motivate yourself to write.Limit distractions.Keep track of how long you’re spending brainstorming / writing / revising.Reduce back and neck pain by walking around during Pomodoro breaks.Draft a book in three weeks. How It works

Starting An Open-Source Project Cats can be forgetful, and so are we. It appears that you've stumbled upon an outdated link or a typo on the page you were trying to reach. Sincere apologies about that! Please return to the front page or use the search box in the upper area of the page to find the information you were looking for. What else can you do? Check out what everyone else is currently reading or have a look at our latest Smashing Newsletter issue featuring the best of what’s happening in the community these days.

Other installs Tutorial: Introduction to Unit Testing in PHP with PHPUnit It’s a familiar situation: you’ve been developing on an application for hours and you feel like you’ve been going round in circles. You fix one bug and another pops up. Sometimes, it’s the same one you found 30 minutes ago, and sometimes it’s new, but you just know it’s related. For most developers, debugging means either clicking around on the site, or putting in a whole load of debugging statements to hunt the problem down. You’ve been there, right? The key to understanding unit testing is to define what we mean by “unit.” Once you’ve written up your set of tests, whenever you make a change to your code, all you have to do is run the set of tests and watch everything pass. Debunking Unit-testing Myths I’m sure you’re sitting there thinking, “if this unit testing stuff is so awesome, why doesn’t everyone do it for all their applications?” It Takes Too Long One of the largest concerns about writing up tests is that they just take too much time to generate. It’s No Fun An Example <? <? <?