Table of Contents
commit message
type(scope?): subject #scope is optional
-
feat: 新功能
-
fix: bug 修复
-
docs: 文档修改
-
style: 不影响代码的更改(如空格,格式,缺少分号等)
-
refactor: 代码重构,既不修复错误也不添加功能
-
perf: 代码更改可以提高性能
-
test: 添加缺失或更正现有测试
-
build: build 相关,npm scripts
-
ci: CI 相关
-
chore: 对构建过程或辅助工具和库(如文档生成)的更改
-
revert: 版本回退
server
-
创建 git 用户,运行 git 服务
# 添加git账户 $ adduser git # 修改git的密码 $ passwd git
-
禁止 git 用户的 shell 登录
出于安全考虑,创建的 git 用户不允许登录 shell,找到
/etc/passwd
$ git:x:1000:1000::/home/git:/bin/bash # 改为 $ git:x:1000:1000::/home/git:/usr/bin/git-shell
-
免密登录
$ mkdir /home/git/.ssh $ chmod 700 /home/git/.ssh $ touch /home/git/.ssh/authorized_keys $ chmod 600 /home/git/.ssh/authorized_keys # 如果使用 sudo 创建,需要将 owner 改为 git $ chown -R git:git /home/git/
编辑
/home/git/.ssh/authorized_keys
将客户端公钥放入 -
初始化 git 仓库
$ mkdir /xg4 $ chown git:git /xg4/ $ cd /xg4 # 创建空的git仓库 $ git init --bare test.git Initialized empty Git repository in /xg4/test.git/ # 将仓库所属用户改为git $ chown -R git:git test.git
hooks
-
client hooks: (commit hooks, email hooks, other hooks)
-
commit hooks
-
pre-commit
-
prepare-commit-msg
-
commit-msg
-
post-commit
-
-
email hooks
-
applypatch-msg
-
pre-applypatch
-
post-applypaych
-
-
other hooks:
-
pre-rebase
-
post-checkout
-
post-merge
-
-
-
server hooks:
-
pre-receive
-
post-receive
-
update
-
-
创建 git server 仓库
cd /xg4 git init --bare test.git
-
创建工作目录 git 仓库
$ cd /var/www $ git clone /xg4/test.git # or $ git init $ git remote add origin /xg4/test.git
-
改变所属用户和用户组,获得权限
chown -R git:git /xg4/test.git chown -R git:git /var/www/test
-
设置 git hooks
cd /xg4/test.git/hooks/ vim post-receive
post-receive 文件内容
#!/bin/sh unset GIT_DIR cd /var/www/test git pull origin master
# 赋予 post-receive 文件可执行权限 $ chmod +x .git/hooks/post-receive