diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000000000..1f31dda7e1826 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,5 @@ +# Set line width to 80. +4857ad58c1241b3d63d21a6880c989b85746c3dc + +# ESLint updates. +f63053cace3c02e284f00918e1854284c85b9132 diff --git a/docs/contributors/code/git-workflow.md b/docs/contributors/code/git-workflow.md index 16db71ffc7127..4e4e886f670a8 100644 --- a/docs/contributors/code/git-workflow.md +++ b/docs/contributors/code/git-workflow.md @@ -135,3 +135,21 @@ git push ``` The above commands will update your `trunk` branch from _upstream_. To update any other branch replace `trunk` with the respective branch name. + +## Miscellaneous + +### Git Archeology + +When looking for a commit that introduced a specific change, it might be helpful to ignore revisions that only contain styling or formatting changes. + +Fortunately, newer versions of `git` gained the ability to skip commits in history: + +``` +git blame --ignore-rev f63053cace3c02e284f00918e1854284c85b9132 -L 66,73 packages/api-fetch/src/middlewares/media-upload.js +``` + +All styling and formatting revisions are tracked using the `.git-blame-ignore-revs` file in the Gutenberg repository. You can use this file to ignore them all at once: + +``` +git blame --ignore-revs-file .git-blame-ignore-revs -L 66,73 packages/api-fetch/src/middlewares/media-upload.js +```