Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
When I make a separate commit for code cleanup / style changes, I can suppress that commit from git blame so that I can follow a file's history easily without getting distracted by pure style chang...
Question
git
#2: Post edited
How to keep git blame ignored commits up to date?
When I make a separate commit for code cleanup / style changes, I can suppress that commit from `git blame` so that I can follow a file's history easily without getting distracted bu pure style changes. I do that by putting the cleanup commit's hash in a file and tell git to ignore those commits for blaming purposes:- ```sh
- echo $the_full_hash >> .git-blame-ignore-revs
- git config blame.ignoreRevsFile .git-blame-ignore-revs
- ```
- But at the time I make my cleanup commit, I don't have the hash yet, so I need an extra commit to update `.git-blame-ignore-revs`. I'd rather have that in the same commit.
- Even if I can get the hash of my current working copy changes, adding that hash to `.git-blame-ignore-revs` would modify what I am committing, resulting in a different hash, as `.git-blame-ignore-revs` is also checked in.
- On top of that, if I make 2 commits and then use github's PR squashing merge, my hash in `.git-blame-ignore-revs` is wrong as only the squashed commit makes it into git, not the individual ones.
- How do people keep their `.git-blame-ignore-revs` up to date? Is there a better way than 2 commits?
- When I make a separate commit for code cleanup / style changes, I can suppress that commit from `git blame` so that I can follow a file's history easily without getting distracted by pure style changes. I do that by putting the cleanup commit's hash in a file and tell git to ignore those commits for blaming purposes:
- ```sh
- echo $the_full_hash >> .git-blame-ignore-revs
- git config blame.ignoreRevsFile .git-blame-ignore-revs
- ```
- But at the time I make my cleanup commit, I don't have the hash yet, so I need an extra commit to update `.git-blame-ignore-revs`. I'd rather have that in the same commit.
- Even if I can get the hash of my current working copy changes, adding that hash to `.git-blame-ignore-revs` would modify what I am committing, resulting in a different hash, as `.git-blame-ignore-revs` is also checked in.
- On top of that, if I make 2 commits and then use github's PR squashing merge, my hash in `.git-blame-ignore-revs` is wrong as only the squashed commit makes it into git, not the individual ones.
- How do people keep their `.git-blame-ignore-revs` up to date? Is there a better way than 2 commits?
#1: Initial revision
How to keep git blame ignored commits up to date?
When I make a separate commit for code cleanup / style changes, I can suppress that commit from `git blame` so that I can follow a file's history easily without getting distracted bu pure style changes. I do that by putting the cleanup commit's hash in a file and tell git to ignore those commits for blaming purposes: ```sh echo $the_full_hash >> .git-blame-ignore-revs git config blame.ignoreRevsFile .git-blame-ignore-revs ``` But at the time I make my cleanup commit, I don't have the hash yet, so I need an extra commit to update `.git-blame-ignore-revs`. I'd rather have that in the same commit. Even if I can get the hash of my current working copy changes, adding that hash to `.git-blame-ignore-revs` would modify what I am committing, resulting in a different hash, as `.git-blame-ignore-revs` is also checked in. On top of that, if I make 2 commits and then use github's PR squashing merge, my hash in `.git-blame-ignore-revs` is wrong as only the squashed commit makes it into git, not the individual ones. How do people keep their `.git-blame-ignore-revs` up to date? Is there a better way than 2 commits?