This is an old revision of the document!


Miscellaneous notes on git commit, using the Linux kernel source as an example.

See which files are staged for committing:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   MAINTAINERS
	modified:   README

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   Makefile
$

To see the entire difference about to be committed:

$ git diff --cached                            [or --staged]
diff --git a/MAINTAINERS b/MAINTAINERS
index 41ce5f4ad838..202d67e2facb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1,4 +1,4 @@
-
+New stuff in MAINTAINERS
 
        List of maintainers and how to submit kernel changes
 
diff --git a/README b/README
index 669ac7c32292..3db2a5b35089 100644
--- a/README
+++ b/README
@@ -1,3 +1,5 @@
+New stuff in README
+
 Linux kernel
 ============
 

For a histogram-style summary:

$ git diff --cached --stat
 MAINTAINERS | 2 +-
 README      | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)
$

This might be worth setting at the system level.

$ git config --global commit.template ~/.gitmessage.txt

Example ~/.gitmessage.txt:

Subject line (try to keep under 60 characters)

Multi-line description of commit,
feel free to be detailed.

[Ticket: X]
  • git_commit.1550651208.txt.gz
  • Last modified: 2019/02/20 08:26
  • by rpjday