fbpx
spk-logo-tm-2023
0%
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

What’s New in Git 1.8.5.1

windchill features best plm software
Written by SPK Blog Post
Published on December 17, 2013

Call me weird, but for whatever reason I find version control really interesting and a crucial part of your build and release model. Maybe it’s because it’s saved my bacon a few times so I appreciate what it does, or maybe it’s because it lets me see how my code has evolved over time, I don’t know.

What I do know is that I use Git quite a bit and I’m always learning something new about it. Recently, a new version of Git was released (1.8.5.1) so I thought it might be interesting to look at some of its new features and fixes.

Some of the new features you’ll find in Git 1.8.5.1 include the following:

Rather than typing “HEAD”, users can make use of the alias “@” Ex: “git checkout @”

Rebase has been modified.

  • The length of commit ids will now conform to the length set by the “core.abbrev” value in the .gitconfig file
  • You can customize the behavior of “git pull –rebase” to preserve merges instead of flattening them by setting the “pull.rebase” key to “preserve”

Status has been modified.

  • No longer prints status information for submodules where “submodule.$name.ignore” is set to “all”
  • When using the “cherry-pick” modifier it will show what original commit is being picked
  • It no longer outputs a “#” at the beginning of each line.  As a result of this change it is being recommended that any scripts that parse the output from “git status” be modified to make use of the “–porcelain” modifier.  This modifier formats output for easy parsing and is kept stable between releases.
  • Some irrelevant “advice” messages that are shared with “git status” output have been removed from the commit log template.

Check-ignore “git check-ignore” follows the same rule as “git add” and “git status” in that the ignore/exclude mechanism does not take effect on paths that are already tracked. With the “–no-index” option, it can be used to diagnose which paths that should have been ignored have been mistakenly added to the index.

Just like “make -C <directory>”, “git -C <directory> …” tells Git to go there before doing anything else.

Just like “git checkout -” knows to check out, and “git merge -” knows to merge, the branch you were previously on, “git cherry-pick” now understands “git cherry-pick -” to pick from the previous branch.

Diff

“git diff -diff-filter” now allows you to use lowercase letters to signify that you want to see everything except the files that match the filter.

HTTP variables per site

The “http.*” variables can now be specified for individual URLs for which they apply.
For example:

[http]
sslVerify = true
[http “https://some.example.com/”]
sslVerify = false

In this case sslVerify would be disabled when communicating with that particular host.

Blame

“git blame” can now take more than one -L option to discover the
origin of multiple blocks of lines.

Submodule changes

  • Submodules can now be relocated and have their relative path information updated according to the .gitmodule file using git mv
  • “git submodule init” now validates “submodule.$name.update” settings from .gitmodules before they are copied to .git/config to ensure they make sense.

Another noteworthy change is that “git repack” has been rewritten in C from its previous implementation as a shell script. The purpose behind this is to ensure “a core subset of git functionality [is] built in to git”. This allows Windows users access to core features without a Unix-style shell and allows those deploying to servers to avoid rewriting the #! line and PATH references.

Next Steps:

David Hubbell
Software Engineer
SPK and Associates

Latest White Papers

Accelerating Product Development the SPK Way

Accelerating Product Development the SPK Way

Developing high-quality products quickly can be a challenge without the proper tools, processes, and partners to help. Dive into this eBook to discover how partnering with SPK can help you achieve product development success.What You Will Learn In this eBook, we will...

Related Resources

The Best Marketplace Apps for Jira and Confluence for 2025

The Best Marketplace Apps for Jira and Confluence for 2025

Atlassian’s suite of tools continue to be indispensable for teams managing work and collaborating across departments. Specifically, Jira and Confluence offer flexibility that is ideal for everything from agile development to content creation. However, as organizations...

A Review of Jira Product Discovery 2025

A Review of Jira Product Discovery 2025

Navigating customer feedback, feature requests, and market research is all in a day’s work for product teams.  Despite this familiar heavy load, teams have not had a truly purpose-built solution for capturing and organizing early-stage product discovery work. Instead,...

Protected Container Repositories and more in the latest GitLab releases

Protected Container Repositories and more in the latest GitLab releases

GitLab has officially released version 17.8. This update offers significant enhancements across security, DevOps workflows, and machine learning capabilities. With over 60 improvements, this release further solidifies GitLab's role as the most comprehensive AI-powered...