This post originated from an RSS feed registered with Java Buzz
by Mathias Bogaert.
Original Post: What’s new in Git 1.8.5
Feed Title: Scuttlebutt
Feed URL: http://feeds.feedburner.com/AtlassianDeveloperBlog
Feed Description: tech gossip by mathias
While we wait for the next major git release which will bring about some serious updates let’s peel off the notes of the latest point release: 1.8.5 is upon us! Here is what I could dig from the release notes that was interesting to me in my role of average git user. Oh and if you haven’t seen them yet check out my earlier notes on releases 1.8.2, 1.8.3 and 1.8.4. Customary installation pointers It is customary for me to provide a few pointers for the upgrade, with caveats and reminders that package managers in some cases might delay the distribution; that is out of my hands. In any case, here are some painless instructions to upgrade: Type brew update && brew upgrade git if you use homebrew on OSX. Use a magic apt trick if on Ubuntu based distributions (I leave other distributions as an exercise for the reader). Simply run the new installer if on Windows (the Windows port sometimes lags a bit behind so please be patient if you can’t find it right away). HEAD new alias is finally live This had been cooking for a while and it’s finally in: HEAD has a new alias, instead of typing four capital letters you can say “@” now, e.g. “git log @“. Some rebase polish Rebase saw some polish: In the operations sheet of the –interactive rebase the list of commit ids will now conform to the core.abbrev length (core.abbrev is the configuration that holds how long the abbreviated hashes of the commits should be, the default being 7). You can now customize if git pull –rebase should use the default flattening or preserve merges by modifying setting pull.rebase to preserve. For more details on what this and rebase –preserve-merges do, please check Stack Overflow’s answer. Tiny status improvements Varied improvements to git status have been included in this release: It no longer prints dirty status information for submodules for which submodule.$name.ignore is set to “all”. During a cherry-pick it shows what original commit is being picked. It will not spit out its output prepended by # comment markers. If you require scripts to parse the output of git status you should now update them to use git status –porcelain. git status and git branch -v -v now distinguish among a branch that does not build on any other branch, a branch that is in sync with the branch it builds on, and a branch that is configured to build on some other branch that no longer exists. Diff for “all-but” classes git diff –diff-filter could already filter several classes of changes: 123456--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]] Select only files that are Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. regular file, symlink, submodule, ...) changed (T), are Unmerged (U), are Unknown (X), or have had their pairing Broken (B). Any combination of the filter characters (including none) can be used. When * (All-or-none) is added to the […]