通过exit 1可以测试git commit命令,触发commit-msg钩子,而不会产生真实git提交。 定制化 @commitlint/cli从以下文件获取配置: .commitlintrc .commitlintrc.json .commitlintrc.yaml .commitlintrc.yml .commitlintrc.js .commitlintrc.cjs .commit
COMMIT_EDITMSG HEAD ORIG_HEAD FETCH_HEAD config description index hooks/ info/ logs/ objects/ refs/ 1. 文件 COMMIT_EDITMSG 此文件是一个临时文件,存储最后一次提交的信息内容,git commit 命令之后打开的编辑器就是在编辑此文件,而你退出编辑器后,git 会把此文件内容写入 commit 记录。 实际应用: git pull...
git commit -m "Add submodule" 那么此时,我们上面提及的三个参数分别为: name:x/y submodule_repo:../submodule-repo submodule_path: submodule 此时我们再次检查main-repo的目录,结果如下: . ├── .git │ ├── COMMIT_EDITMSG │ ├── HEAD │ ├── config │ ├── description │ ├──...
COMMIT_EDITMSG最近一次的 commit edit message ; #编写提交信息的两种姿势git commit#自动打开文件编辑,在文件中输入信息即可git commit -m msg#信息都会被保存到 COMMIT_EDITMSG # 如需修改提交信息,不可直接编辑COMMIT_EDITMSG,可执行以下命令git commit --amend#自动打开文件编辑,在文件中修改信息即可 description描...
#~~".git/COMMIT_EDITMSG"14L,297C 如果你的团队对提交信息有格式要求,可以在系统上创建一个文件,并配置 Git 把它作为默认的模板,这样可以更加容易地使提交信息遵循格式。 core.pager 该配置项指定 Git 运行诸如log和diff等命令所使用的分页器。 你可以把它设置成用more或者任何你喜欢的分页器(默认用的是less...
# 如需修改提交信息,不可直接编辑COMMIT_EDITMSG,可执行以下命令git commit --amend#自动打开文件编辑,在文件中修改信息即可 description描述文件,打开后里面提醒该为git仓库创建个描述(Unnamed repository; edit this file 'description' to name the repository.)。
pre-commit是第一步,是在用户输入任何message之前就执行的,而后才执行到commit-msg这个文件。而这里面的message实际上是存在了COMMIT_EDITMSG这个文件中了。这里是我参考的一篇文章。从commit-msg的sample中就可以看到,$1就是这个message信息。 在pre-commit中轻松的获取到message信息之后就很简单了,只需要在前期写好...
如果以非0状态退出的话,譬如检测到文件名中有空格,而用户不希望这种文件被commit,在这种情况下执行exit 1,那么git commit会以失败而终止。prepare-commit-msg接收三个参数。第一个是commit log message所在的文件名,通常是.git/COMMIT_EDITMSG。第二个是commit log message的来源。在《git commit中...
当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。 当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
步骤2:复制`pre-commit.sample`文件并重命名为`pre-commit`(如果已经存在则直接修改)。 步骤3:使用文本编辑器打开`pre-commit`文件,并在文件中添加以下内容(或者你自己定义的规则): “`bash #!/bin/sh # 阻止提交的条件 commit_message_file=$(git rev-parse –git-dir)/COMMIT_EDITMSG ...