Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Git 2.4 Released With Some New Features

DZone's Guide to

Git 2.4 Released With Some New Features

· DevOps Zone
Free Resource

Download the blueprint that can take a company of any maturity level all the way up to enterprise-scale continuous delivery using a combination of Automic Release Automation, Automic’s 20+ years of business automation experience, and the proven tools and practices the company is already leveraging.

Git Version Control System 2.4 has released. Most notable features are listed below. Consult this document  for the full list and this one  for a long description,


  • The "sync" subcommand of "git p4" now allows users to exclude subdirectories like its "clone" subcommand does.
  • "git log --invert-grep --grep=WIP" will show only commits that do not have the string "WIP" in their messages.
  • "git push" has been taught an "--atomic" option that makes a push that updates more than one ref an "all-or-none" affair.
  • Extending the "push to deploy" feature that was added in 2.3, the behaviour of "git push" when updating the branch that is checked out can now be tweaked by a "push-to-checkout" hook.
  • "git status" now allows the "-v" option to be given twice, in which case it also shows the differences in the working tree that are not staged to be committed.
  • "git cherry-pick" used to clean up the log message even when it is merely replaying an existing commit. It now replays the message verbatim unless you are editing the message of the resulting commit.
  • "git archive" can now be told to set the 'text' attribute in the resulting zip archive.
  • Output from "git log --decorate" now distinguishes between a detached HEAD vs. a HEAD that points at a branch. This is a potentially backward-incompatible change.
  • When HEAD was detached when at commit xyz and hasn't been moved since it was detached, "git status" would report "detached at xyz" whereas "git branch" would report "detached from xyz". Now the output of "git branch" agrees with that of "git status". This is a potentially backward-incompatible change.
  • "git -C '' subcmd" now works in the current directory (analogously to "cd ''") rather than dying with an error message.
  • The versionsort.prereleaseSuffix configuration variable can be used to specify that, for example, v1.0-pre1 comes before v1.0.
  • A new "push.followTags" configuration turns the "--follow-tags" option on by default for the "git push" command.
  • "git rev-list --bisect --first-parent" does not work (yet) and can even cause SEGV; forbid it. "git log --bisect --first-parent" would not be useful until "git bisect --first-parent" materializes, so also forbid it for now.

Happy branching!

Download the ‘Practical Blueprint to Continuous Delivery’ to learn how Automic Release Automation can help you begin or continue your company’s digital transformation.

Topics:
devops ,git ,scm

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}