官术网_书友最值得收藏!

Templates

In this example, we will see how to create a template commit message that will be displayed in the editor when creating a commit. The template is only for the local user and not distributed with the repository in general.

Getting ready

In this example, we will use the example repository from Chapter 1, Navigating Git:

$ git clone https://github.com/dvaske/data-model.git
$ cd data-model

We'll use the following code as a commit message template for commit messages:

Short description of commit

Longer explanation of the motivation for the change

Fixes-Bug: Enter bug-id or delete line
Implements-Requirement: Enter requirement-id or delete line

Save the commit message template in $HOME/.gitcommitmsg.txt. The filename isn't fixed and you can choose a filename of your liking.

How to do it...

To let Git know about our new commit message template, we can set the configuration variable commit.template to point at the file we just created with that template; we'll do it globally so it is applicable to all our repositories:

$ git config --global commit.template $HOME/.gitcommitmsg.txt

Now, we can try to change a file, add it, and create a commit. This will bring up our preferred editor with the commit message template preloaded:

$ git commit

Short description of commit

Longer explanation of the motivation for the change

Fixes-Bug: Enter bug-id or delete line
Implements-Requirement: Enter requirement-id or delete line

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: another-file.txt
#
~
~
"\.git/COMMIT_EDITMSG" 13 lines, 396 characters

We can now edit the message according to our commit and save to complete the commit.

How it works...

When commit.template is set, Git simply uses the content of the template file as a starting point for all commit messages. This is quite convenient if you have a commit-message policy as it greatly increases the chances of the policy being followed. You can even have different templates tied to different repositories, since you can just set the configuration at the local level.

主站蜘蛛池模板: 桑日县| 佛冈县| 多伦县| 阿拉尔市| 鄂尔多斯市| 红安县| 贺州市| 新蔡县| 太和县| 旬阳县| 江永县| 榆树市| 壶关县| 灵山县| 新宾| 诸城市| 广西| 阜新市| 新津县| 武清区| 德州市| 鹤庆县| 大港区| 扬中市| 柳林县| 枞阳县| 河池市| 阳东县| 惠东县| 蓝田县| 双柏县| 博乐市| 左权县| 前郭尔| 普安县| 聂荣县| 温宿县| 察隅县| 会东县| 太保市| 综艺|