Create a git alias that will pull and fast-forward the current branch if there are no conflicts

git config --global --add alias.ff "pull --no-commit -v" ; git ff
This command will first add an alias known only to git, which will allow you to pull a remote and first-forward the current branch. However, if the remote/branch and your branch have diverged, it will stop before actually trying to merge the two, so you can back out the changes. http://www.kernel.org/pub/software/scm/git/docs/git-pull.html Tested on git 1.5.6.1, msysgit (Windows port) Actually this is not really the way I want it. I want it to attempt a fast-foward, but not attempt to merge or change my working copy. Unfortunately git pull doesn't have that functionality (yet?).
Sample Output
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 13 (delta 9), reused 0 (delta 0)
Unpacking objects: 100% (13/13), done.
From i:/rep/ap
   a8c4762..b7c6b0e  master     -> origin/master
Updating a8c4762..b7c6b0e
Fast forward
 piyo/smallscripts/{authkey.sh => authkey} |    0
 ssh/authkey.sh                            |   36 +++++++++++++++++------------
 2 files changed, 25 insertions(+), 15 deletions(-)  (truncated)

1
By: piyo
2009-02-13 15:30:46

What Others Think

I think what you actually want here is git pull --ff-only sadly it's not available yet, but will be soon: http://kerneltrap.org/index.php?q=mailarchive/git/2009/1/30/4853834
bartman · 501 weeks ago
Cool, thanks for the heads up. Now there's a reason to upgrade git!
piyo · 501 weeks ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: