15 comments

[ 3.3 ms ] story [ 41.7 ms ] thread
Here's one I want to try:

"sparse checkout" feature allows only part of the work tree to be checked out.

And the new @upstream and --set-upstream look like nice shorthands for dealing with remotes.

Homebrew for OS X already has a new package for 1.7.0. Just run "homebrew update" and "homebrew install git"
also, there's already a port in macports
Biggest plus for me:

"git checkout A...B" is a way to detach HEAD at the merge base between A and B.

I always find myself trying to figure out where two branches meet in the history.

Can you explain this ?
"A..B" here just means the closest common ancestor of A and B, which could be branches or arbitrary commits.

You might use this if you have a branch from someone else and you just want to know how long ago it diverged from your own branch. Or you might rewind to the common ancestor of two temporary branches before doing something like squashing the commits from each branch onto the ancestor, one after the other.

Awesome. Thanks for explaining. That does sound very useful.
Although note that even before, git checkout `git merge-base A B` was always possible
All I want is to be able to use home-directory notation (like ~bdr/.gitignore) in my .gitconfig, so I can use the same config across different machines. Does anyone know how to do this?
I do it by: 1) having a git repository in ~/config that contains, among other things, my global .gitconfig and .gitignore files. This repository is synced across machines. 2) having a .gitconfig in my home directory that's symlinked to config/.gitconfig and similarly for .gitignore.
Yes, that's what I'm already doing. The question is what to put as your core.excludesfile setting in the .gitconfig file.
Does anybody know the status of smart HTTP support? git-http-backend seems to have been added in 1.6.6 but the release notes haven't mentioned it.