michaelfox + git   121

Kiln - Mercurial Version Control and Code Review Software from Fog Creek Software
Your Power Tools for Version Control and Code Review

Simplify your development workflow
Ship higher quality code
Understand your code's history
Integrate with FogBugz and other tools
No limits on repositories
bugtracking  codereview  hosting  mercurial  git  code  sourcecontrol  scm  bugs  tracking  tools  saas 
15 days ago by michaelfox
Github Recommendation Service
see suggested repos (based on watcher relationships)
git  code  inspiration  discovery  github  browser 
february 2012 by michaelfox
tbaggery - Effortless Ctags with Git
git config --global init.templatedir '~/.git_template'
mkdir -p ~/.git_template/hooks



#!/bin/sh
rm -f .git/tags
ctags --tag-relative -Rf.git/tags --exclude=.git --languages=-javascript,sql
ctags  git  githook  vim  fugitive.vim  git-hooks 
january 2012 by michaelfox
bobthecow's gist: 700545 — Gist
ls_dead_branches.sh

#!/bin/bash

cd "./$(git rev-parse --show-cdup)"

for branch in $(git branch | tr -d " |*" | grep -v "(develop|production)"); do
[[ -z $(git diff develop...$branch) ]] && echo $branch
done
bash  shell  git  branch 
october 2011 by michaelfox
Git aliases — Gist
[alias]
edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; $EDITOR `f`"
add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`"

lc = log ORIG_HEAD.. --stat --no-merges
smash = merge --no-commit --log
eat = branch -M
prune-all = !git remote | xargs -n 1 git remote prune
whois = "!sh -c 'git log -i --pretty="format:%an <%ae>" --author="$1" | sort -u' -"
whatis = show -s --pretty='tformat:%h (%s, %ad)' --date=short
this = !git init && ( [[ -n $(ls) ]] || touch .gitignore ) && git add . && git commit -m "initial commit"

sp = ![[ -z $(git status --porcelain -uno) ]] && git pull || git stash && git pull && git stash pop
spp = ![[ -z $(git status --porcelain -uno) ]] && git pull || git stash && git pull && git push && git stash pop
pp = !git pull && git push
ppu = !git pp && git submodule sync && git submodule update --init

ls = "!git status -suno"
ls-modified = "!git status --porcelain -uno | awk 'match($1, /M/) {print $2}'"
ls-added = "!git status --porcelain -uno | awk 'match($1, /A/) {print $2}'"
ls-deleted = "!git status --porcelain -uno | awk 'match($1, /D/) {print $2}'"
ls-renamed = "!git status --porcelain -uno | awk 'match($1, /R/) {print $2}'"
ls-copied = "!git status --porcelain -uno | awk 'match($1, /C/) {print $2}'"
ls-updated = "!git status --porcelain -uno | awk 'match($1, /U/) {print $2}'"
ls-staged = "!git status --porcelain -uno | grep -P '^[MA]' | awk '{ print $2 }'"
ls-untracked = "!git status --porcelain -uall | awk '$1 == "??" {print $2}'"

sup = !git submodule sync && git submodule update --init

# install t first: http://github.com/sjl/t
todo = !python ~/lib/t/t.py --task-dir "$(git rev-parse --show-toplevel)" --list TODO
bug = !python ~/lib/t/t.py --task-dir "$(git rev-parse --show-toplevel)" --list BUGS

alias = "!sh -c '[ $# = 2 ] && git config --global alias."$1" "$2" && exit 0 || [ $# = 1 ] && [ $1 = "--list" ] && git config --list | grep "alias\." | sed "s/^alias\.\([^=]*\)=\(.*\).*/\1@@@@=>@@@@\2/" | sort | column -ts "@@@@" && exit 0 || echo "usage: git alias <new alias> <original command>\n git alias --list" >&2 && exit 1' -"
ignore = "!sh -c '([ $# = 2 ] && ([ "$1" = "--local" ] && echo "$2" >> "./$(git rev-parse --show-cdup)/.git/info/exclude" || ([ "$2" = "--local" ] && echo "$1" >> "./$(git rev-parse --show-cdup)/.git/info/exclude"))) || ([ $# = 1 ] && (([ "$1" == "--list" ] && git ls-files -i --exclude-standard) || (([ ! -e .gitignore ] && touch .gitignore || echo "$(cat .gitignore)" > .gitignore) && echo "$1" >> .gitignore))) || echo "usage: git ignore <file>\n git ignore --local <file>\n git ignore --list" >&2 && exit 1' -"

lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all

cs = !git ls-staged | grep ".php" | xargs phpcs

peeps = !git log --pretty=format:%aN | sort | uniq -c | sort -rn
graph = log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
git  dotfiles  config  gist  github-user:bobthecow 
october 2011 by michaelfox
git-notes: Extensive collection of notes on Git.
This repo contains all my notes about git. I started writing them for my own understanding, almost like cheat sheets, but they may be useful for others also.

Git is a Distributed Version Control System. Most VCSs you know (like CVS, Subversion, Clearcase, Perforce, and VSS) are centralised. A Distributed VCS allows you to make frequent, local, commits to checkpoint your work while you're still perfecting the code -- you cannot do this with a centralised VCS.

Basics

If you...

have no idea what git is and wonder what the fuss is all about, and why it's become so popular, see this article, which I wrote for LFY (July 2008 issue)

want a basic intro to the most important concepts behind git, see this presentation

know something about version control, and are trying to understand why git is so powerful, spend some time on this presentation.

need a quick refresh of the terminology once in a while, read this.

if you're itching to get started, but have become overwhelmed by having to understand git itself and how it fits with ssh or http etc., read this -- I've been told it is quite helpful :)


Note that the presentations are meant to be interactive, with someone talking through the slides, but have enough detail that you can read them yourself if you like.

Beyond the basics

If you know a little about git and/or have attended one of my talks, you can follow the links below.

(c) Copyright Sitaram Chamarty, sitaramc@gmail.com, licensed under the Creative Commons Attribution Sharealike license.

subdirectories:
0-installing
1-basic-usage
2-command-line-usage
concepts
other-stuff
the-list-and-irc
tips
documentation  git  presentation  notes  reference  collection 
january 2011 by michaelfox
git.grml.org Git
aamath.git - ASCII art mathematics renderer
advchk.git - monitor the security of instal
afflib.git - utils for the Advanced Forensi
anytun.git - secure anycast tunneling protocol
base64.git - encode and decode base64 files
cdrtools.git - command line CD writing tool
cmospwd.git - a cmos/bios password recovery
ctris.git - colorized, small and flexible
dd-rhelp.git - dd_rescue hard disk rescue
ddrescue.git - copies data from one file
dupmerge.git - reclaim disk space by linking
elizatalk.git - simple autoresponder
espeakup.git - use espeak software synthesize
fai-stable.git - FAI stable branch (git-svn
fvwm-crystal-minimal.git - Pretty Desktop Environment
gatling.git - a high performance web server
gddrescue.git - the GNU data recovery tool
glipper-nognome.git - clipboard manager
grml-api.git - API for the grml live system
grml-autoconfig.git - main bootup process of a grml
grml-btnet.git - server and client to quickly
grml-buildd.git - buildd related stuff
grml-core.git - core files for the grml live
grml-crypt.git - wrapper arround cryptsetup
grml-debian-keyring.git - GnuPG archive key of the grml
grml-debootstrap.git - wrapper around debootstrap
grml-debugtools.git - various debug related tools
grml-desktop.git - configuration files for grml
grml-docs.git - documentation for grml (grml
grml-etc-core.git - core configuration files of
grml-etc.git - ecetera files for the grml
grml-files.git - some misc files for grml
grml-files64.git - some misc files for grml64
grml-firefox.git - configuration for firefox
grml-gen-zshrefcard.git - generate zsh reference card
grml-git-doc.git - Documentation of git at grml
grml-git-tools.git - Useful addons for work with git
grml-homepage.git - website of grml (WIP)
grml-hwinfo.git - collect hardware information
grml-infrastructure.git - documentation of grml-infrastr
grml-kernel.git - patches, configuration and
grml-laptop.git - optimize system for specific
grml-live.git - build system for creating
grml-lsb.git - lsb function definitions for
grml-mercurial-utils.git - some scripts for easier work
grml-mirrors.git - policies/guidelines/howto
grml-network.git - network related helper scripts
grml-paste.git - command line interface for
grml-policy.git - the grml policy documentation
grml-policyrcd.git - wrapper for and around invoke
grml-pylib.git - python wrappers arround differ
grml-quickconfig.git - fast access to some basic
grml-rebuildfstab.git - fstab-rebuilder for grml
grml-rescueboot.git - Bootloader integration of
grml-roadmap.git - Roadmap for grml (tracking
grml-runit.git - Grmls idea of runit service
grml-saveconfig.git - utilities and documentation
grml-scanpartitions.git - fstab-helper for grml
grml-scripts.git - some small scripts which shoul
grml-sectools.git - collection of small in-/securi
grml-shlib.git - generic shell library
grml-shred-disk.git - utility to securely shred
grml-small.git - virtual package for main grml
grml-templates.git - templates for LaTeX, c, cpp
grml-terminalserver-data.git - data package for grml-terminal
grml-terminalserver.git - terminalserver for grml
grml-tips.git - search for tips and hints
grml-twitter-tips.git - grml related tips for http
grml-udev-config.git - custom udev configurations
grml-unittests.git - unittests for the Grml live
grml-usleep.git - sleeps for a number of microse
grml-vpn.git - wrapper around setkey / IPsec
grml-x.git - X configuration tool for grml
grml.git - virtual package for main grml
grml2hd-utils.git - utilities for a grml system
grml2hd.git - make a harddisk installation
grml2usb.git - install grml-system to usb
grml64.git - virtual package for main grml6
guymager.git - Forensic imaging tool based
heirloom-sh.git - Heirloom Bourne Shell - derive
hg-doc.git - documentation of hg
hg-to-git.git - Migration utils for migrating
histring.git - highlight strings using ANSI
i855-crt.git - enable crt out on i855GM based
incron.git - inotify cron system
initramfs-tools.git - tools for generating an initra
ipw-firmware.git - Intel PRO/Wireless 2100 and
iscsitarget.git - iSCSI Enterprise Target
iwatch.git - realtime filesystem monitoring
kantan.git - simple test suite for autotest
latextug.git - German documentation on LaTeX
lcdtest.git - a utility to display LCD monit
libgebi-dev.git - a C++ library of generic desig
libguytools.git - libguytools is a small program
linux-kernel-headers-grml.git - virtual package to replace
live-boot-grml.git - grml's version of live-boot
live-initramfs-grml.git - grml's version of live-initramfs
md5deep.git - compute MD5, SHA-1, or SHA
minised.git - a smaller, cheaper, faster
nat-traverse.git - establish connections between
nntpview.git - small and fast nntp thread
nozomi-source.git - source for GlobeTrotter HSDPA
op.git - sudo like controlled privilege
pip.git - http://membled.com/work/apps
prism54-firmware.git - firmware images for prism54
python-axon.git - Asynchronous Isolated Generato
python-axon.mq.git - Asynchronous Isolated Generato
rainbowcrack.git - time-memory trade-off password
rephrase.git - A specialized passphrase recov
sbd.git - One-time cipher based back
shmux.git - execute the same command on
sitar.git - System InformaTion At Runtime
smap.git - nmap like SIP scanner
squashfs-lzma-tools.git - tool to create and append
squashfs-lzma.git - squashfs-tools with support
squashfs.git - tool to create and append
stressapptest.git - stress test application for
thc-ipv6.git - Tools to play with IPv6
tuitest.git - run automated tests of text
uanytun.git - tiny implementation of the
udev.git - udev package for grml
unsorted-patches.git - patches without an own package
w3bfukk0r.git - Scan webservers for hidden
xmount.git - tool to crossmount between
zfs-fuse.git - ZFS on FUSE/Linux
zsh-lovers.git tips, tricks and examples
zsh  shell  bash  etc  core  tools  scripts  docs  resources  repository  git  reference 
december 2010 by michaelfox
Git Reference
This is the Git reference site. This is meant to be a quick reference for learning and remembering the most important and commonly used Git commands. The commands are organized into sections of the type of operation you may be trying to do, and will preset the common options and commands needed to accomplish these common tasks.

Each section will link to the next section, so it can be used as a tutorial. Every page will also link to more in-depth Git documentation such as the offical manual pages and relevant sections in the Pro Git book, so you can learn more about any of the commands. First, we'll start with thinking about source code management like Git does.
development  documentation  git  programming  reference 
october 2010 by michaelfox
ericbarnes's codeignitor-migrations at master - GitHub
An open source utility for Codeigniter inspired by Ruby on Rails. The one thing Ruby on Rails has that Codeigniter does not have built in is database migrations. That function to keep track of database chages (versions) and migrate your database to what ever version you need. Migrate up or migrate down. With this library you can now do this. This library is not complete, please read http://codeigniter.com/wiki/Migrations for future needs and issues. This "fork" of Mat'as orginal work just tweets something to work better in our work. Both Libraries are powerful and work in nearly the same way. Maybe someday we can create a joint project with Mat'as or even better get this into that core of Codeigniter.
codeigniter  database  migrations  versioncontrol  git  updates  mysql 
september 2010 by michaelfox
37signals's fast_remote_cache at master - GitHub
A faster version of Capistrano's remote_cache deployment strategy
capistrano  deployment  github  git 
september 2010 by michaelfox
GIT Howto Index
Here is a collection of mailing list postings made by various people describing how they use git in their workflow.

*

maintain-git by Junio C Hamano <gitster@pobox.com>

Imagine that git development is racing along as usual, when our friendly neighborhood maintainer is struck down by a wayward bus. Out of the hordes of suckers (loyal developers), you have been tricked (chosen) to step up as the new maintainer. This howto will show you "how to" do it.

*

rebase-from-internal-branch by Junio C Hamano <gitster@pobox.com>

In this article, JC talks about how he rebases the public "pu" branch using the core GIT tools when he updates the "master" branch, and how "rebase" works. Also discussed is how this applies to individual developers who sends patches upstream.

*

rebuild-from-update-hook by Junio C Hamano <gitster@pobox.com>

In this how-to article, JC talks about how he uses the post-update hook to automate git documentation page shown at http://www.kernel.org/pub/software/scm/git/docs/.

*

recover-corrupted-blob-object by Linus Torvalds <torvalds@linux-foundation.org>

Some tricks to reconstruct blob objects in order to fix a corrupted repository.

*

revert-a-faulty-merge by Linus Torvalds <torvalds@linux-foundation.org>, Junio C Hamano <gitster@pobox.com>

Sometimes a branch that was already merged to the mainline is later found to be faulty. Linus and Junio give guidance on recovering from such a premature merge and continuing development after the offending branch is fixed.

*

revert-branch-rebase by Junio C Hamano <gitster@pobox.com>

In this article, JC gives a small real-life example of using git revert command, and using a temporary branch and tag for safety and easier sanity checking.

*

separating-topic-branches by Junio C Hamano <gitster@pobox.com>

In this article, JC describes how to separate topic branches.

*

setup-git-server-over-http by Rutger Nijlunsing <rutger@nospam.com>
*

update-hook-example by Junio C Hamano <gitster@pobox.com> and Carl Baldwin <cnb@fc.hp.com>

An example hooks/update script is presented to implement repository maintenance policies, such as who can push into which branch and who can make a tag.

*

use-git-daemon
*

using-merge-subtree by Sean <seanlkml@sympatico.ca>

In this article, Sean demonstrates how one can use the subtree merge strategy.
development  git  howto  tools  workflow  collection  reference  tutorial  tips  docs  documentation  resourc 
september 2010 by michaelfox
Git smart: How we're using Git to track our source code - (37signals)
What is Git?
Git is a directory content tracker (i.e. it lets you keep track of the contacts of directories as they change over time). It was developed originally by Linus Torvalds (creator of Linux) in 2005.

What do we use it for?
Until a couple of weeks ago, we were using Subversion for keeping track of our source code. We’re now about a third of the way into converting everything to git (a surprisingly straightforward process, thanks to the git-svn utility).

So git is our source code manager of preference these days. Whenever someone makes a change to one of our applications or dependencies, they check the change into the central repository via git, and the other developers can then merge those changes into their own repositories. Git makes much of this insanely easy, compared to Subversion.

Why do we like it?
Branching and merging are the features we originally fell in love with. Whenever we start development on a new feature, we create a “branch” of the code. Work done in this branch will not affect the “main” branch (called “trunk” in subversion, and “master” in git), so it is a good way to make significant changes without affecting what our users actually see.

Branching and merging in Subversion are painful. If you’ve never used it, you don’t know what I mean. If you have, you do. Branching and merging in git, though, are wonderfully, blissfully straightforward. For those two reasons alone git is worth the switch for us, though there are lots of other, more advanced, features we like about git, too (git-stash, git-bisect, etc.)

How can people learn more?
The learning curve is pretty hefty, especially if you start out thinking of it like “subversion-but-with-some-differences”. The best way to learn git is to forget everything you know about more traditional SCM’s and read through the various tutorials online. We’ve got a Backpack page where we’ve been accumulating various Git resources.
git  versioncontrol  development  svn  code  resources 
september 2010 by michaelfox
ReekenX's Git-PHPcheck at master - GitHub
Tool to check your PHP files from parse errors before commit.
git  php  hooks  githooks  syntax  validation  programming  development 
september 2010 by michaelfox
• How do you include external libraries like symfony components in your library repository? | test.ical.ly
Yesterday I had an idea for stunamis ImageTransform library. A simple yet powerful library to perform all kinds of image manipulation.

The idea was to make use of another library; a symfony component in fact: the EventDispatcher.

The immediate question that still puzzles me is: Where to put it?

When you’re developing a website or another application then integrating a library is easy. For example in symfony you would place it somewhere below /lib/vendor/ and you’re done with it.

As you are the end-user (developer) you have full control over everything.

However if you develop a library or a plugin or any other software component that other developers should use in their projects then simply including your dependencies won’t cut the mustard.
git  svn  dependencies  php  development  setup  structure  project  library  organization  external  submodules 
september 2010 by michaelfox
Programmer Productivity: Measuring Results » Debuggable Ltd
This is post #2 of my programmer productivity series.

Before I embark on trying out various productivity strategies, I need to establish a set of metrics that will help me understand what works, and what doesn't.

For now I decided to keep track of two things:

1. My time, using a daily journal where I enter every task I am working on, and the time spent on it.
2. My commits, as well as the lines of code I add / delete throughout my day

If you want to follow along, I am using a simple notebook for my time tracking. I write one task per row, using the following format:

* 09:23 - 09:26 Coffee & Planning today's tasks (3m)
* 09:26 - 10:30 Work on setting up new server (1h 3m)

By writing out the time I start and end my tasks, it's pretty hard to miss an item.
git  productivity  tracking  time  efficient  programming  developer  development 
september 2010 by michaelfox
My Common Git Workflow « Katz Got Your Tongue?
A recent post that was highly ranked on Hacker News complained about common git workflows causing him serious pain. While I won’t get into the merit of his user experience complaints, I do want to talk about his specific use-case and how I personally work with it in git.

Best I can tell, Mike Taylor (the guy in the post) either tried to figure out a standard git workflow on his own, or he followed poor instructions that tried to bootstrap someone from an svn background while intentionally leaving out important information. In any event, I’ll step through my personal workflow for his scenario, contrasting with subversion as I go.
development  git  howto  svn  workflow  tips 
september 2010 by michaelfox
• Sneakily switching from Subversion to Git | test.ical.ly
Toggle posts

A A+ A++

[Follow me on twitter]
Categories

* Book review
* Good to know
* Miscellaneous
* Outside the box
* Question
* The real job
* The right tool
* Workshop

*
Friends
o Daraff's Blog
o PHP hates me – Der PHP Blog
*
Sub-blog projects
o automat.ical.ly – Continuous Integration Server
o labor.ical.ly – symfony plugins that matter
o symfon.ical.ly – Test symfony Applikation
*
Technologies
o CruiseControl
o Hudson
o phpUnderControl
o PHPUnit
o symfony

Meta

* Log in
* RSS
* Comments RSS

Symfony Experts
May/10

7
Sneakily switching from Subversion to Git

6 Comments | Posted by Christian in The right tool

pink_panther_creeping_sneakilySome years ago I worked with CVS in the company I worked for at the time. The I took on another job and there switched to Subversion. It solved a lot of problems that CVS had but also introduced some new ones.

I changed jobs once more and am still working with Subversion. It works, it’s well known by the people I work with and I can live with it.

Or can I?

Well of course you can live with it. Maybe that’s the wrong question.

In recent months I read a lot of interesting stuff about Git especially in comparision to Subversion. I also witnessed the amazing Git session of Scott Chacon (of ProGit fame) and am curious ever since.

One of the major things said to be far better compared to Subversion is branching and it’s true branching is a big pain in Subversion. In for the branch, in for the merge.

But again I can live with that. I mean I know branching is painful so I do my best to avoid it or if I have to plan it very carefully. So far I was able to circumvent most troubles.

An though I was pondering the idea to switch to Git in my company in the end I didn’t because all workflows using Subversion were well established and we changed so much lately that I didn’t want to increase complexity by introducing yet another tool.
So a better question would be: What can Git do for you?

I found an answer to that question by realising that I used to use Subversion (and CVS before) for three different things.

* For version control obviously, having a backup history and all that.
* Then of course for public distribution. Using the central VCS server it is easy to make your sources available to the Open Source community or your colleagues or whoever it is you are working with and for.

But only when I realised the third use case I also realised that these before mentioned two uses always go together.

* Because I am using the VCS for private distribution as well.

I distinguish private distribution for it serves to get files from A to B within your development process. Sometimes you want to try out code on another server so you commit and update again. But this private use isn’t private it’s always public.

As there is only one central VCS server everybody working with the code will be able to checkout what you committed only to transfer it or only so you could have some more undo steps when developing something.

But code that you want to test somewhere else or that you want to have some undo steps for can rarely be considered stable. So by making private use of a VCS you always risk to have a public effect.

I realised when I learned that some of the users of my symfony plugin sfImageTransformExtraPlugin checkout from trunk rather than installing via PEAR. Of course they did, I just never really thought about it.
And this is where Git comes to the rescue.

Git isn’t central but decentral. You can have your own repository and use it for private distribution and a private history. You can have another one for public use where you only commit something stable and tested and that you want others to have. And transfering code from one repo to the next is as easy as it could be. Git is amazing at this.

So now using Git I can savely work with it the way I want without risking anyone to checkout dirty code. And because I use it only for myself as a development tool I still commit to the central Subversion server.
git  versioncontrol  svn 
september 2010 by michaelfox
• How to share the same working copy between Git and Subversion | test.ical.ly
Last week I wrote a small post about me sneakily switching to Git for my own workflows.

However at my working place I still have to work with Subversion or at least interact with it.

Normally I do this with Git-SVN but that is not available on all servers I have to work on.

Here is my current configuration to ease this.

Working with two version control systems on one working copy can be a pain as both Git and Subversion store their meta information in specific files within your working copy.

One won’t recognise the meta files of the other and so identify them as new files valid for addition. This can be prevented.
My Subversion configuration

// ~/.subversion/config
...
[miscellany]
global-ignores = *.git *.swp
...

Using this setting all Git information files within the working copy will be ignored so you won’t accidentally commit them.
My Git configuration

$ git config --global core.excludesfile ~/.gitignore
$ echo .svn >> ~/.gitignore
$ echo .swp >> ~/.gitignore

And the same for my Git configuration ignoring all Subversion information files.
git  svn  setup  environment 
september 2010 by michaelfox
bassistance.de » Git fu: Updating your GitHub fork
GitHub with their web interface makes it really easy to fork a project, but it leaves you alone when it comes to updating your fork with the changes in the original repository. Its actually really easy with a few steps:

git remote add original git://url-to-original-repo

This adds another remote repository. You can use git remote -v to see your existing remotes. There should be “origin” already, pointing to your GitHub fork. You can use whatever name you like for the new remote repository, above I’ve used “original”.

git fetch original

This loads all commits, including branches and tags, from the specified remote repository, using the alias defined above.

git merge original/master

This merges all changes from the original master branch in your current branch, eg. your local master branch.

git push

By default, push pushes everything to your “origin” repository. Which brings your repo up-to-date. That’s it!
git  github 
september 2010 by michaelfox
« earlier      

related tags

*todo  aliases  apache  app  archive  automation  bash  bbedit  bestpractices  bisect  book  books  branch  branching  brew  browser  bugs  bugtracking  build  bundles  c  capistrano  character  cheatsheet  cli  code  codeigniter  codereview  collaboration  collection  command  compile  config  configuration  continuousintegration  contributing  control  core  cruisecontrol  csv  ctags  customization  data  database  delete  dependencies  deploy  deployment  developer  development  diff  discover  discovery  distributed  docs  documentation  dotfiles  download  ebooks  efficient  environment  etc  example  external  filter  foobar  fork  free  fugitive.vim  gh-pages  gist  git  git-hooks  git-reference  githook  githooks  github  github-repo  github-user:bobthecow  gitignore  gitolite  gitweb  guide  guides  hacks  helpers  history  homebrew  hook  hooks  hosting  howto  htaccess  http  hub  inspiration  inspiration:dotfiles  install  interface  ipad  java  javascript  library  linux  list  live  lorem  mac  macosx  macvim  managment  manuals  markdown  mercurial  merge  migrations  miniapp  model  mysql  notes  objective-c  opensource  organization  osx  pastie  pastie-325104  phing  php  phpundercontrol  placeholder  plugin  plugins  post-commit  presentation  production  productivity  profile  programming  project  projectplus  projects  prompt  pull  push  python  rails  rebase  reference  remove  repo  repos  repository  resourc  resources  ruby  saas  sample  scm  screencast  scripts  search  security  server  settings  setup  shell  software  source  sourcecontrol  sql  stackoverflow  structure  subcommand  submodule  submodules  subversion  svn  symbol  syntax  sysadmin  template  terminal  testing  textmate  theme  time  tips  tmbundle  tools  tracking  tricks  tutorial  ubuntu  unicode  unix  update  updates  user.github  utility  validation  vc  vcs  version  versioncontrol  video  viewer  vim  virtualbox  warehouse  web  webapp  webdev  wordpress  workflow  xinc  zsh 

Copy this bookmark:



description:


tags: