my-gitbook
Blog
  • 👨‍💻简介
  • 入门教程
    • markdown 入门教程
    • git 入门教程
      • 初识 git
        • 安装 git
        • 配置 git
      • 实战 git
        • 本地仓库
        • 版本管理
        • 回到过去
        • 基本概念
        • 版本控制
        • 撤销更改
        • 删除文件
        • 远程仓库
        • 分支管理
          • 分支总览
          • 冲突合并
          • 分支策略
          • 紧急修复
          • 变基合并
          • 协同开发
          • 本地和远程仓库的本质
        • 里程碑式标签
      • 私人定制
        • 忽略文件
        • 同步推送多Git仓库
      • 搭建私服
      • 扩展工具
        • git bash 常见命令
        • git bash 朋友圈
        • git bash 扩展tree命令
        • git bash 扩展命令(上)
        • git bash 扩展命令(中)
        • git bash 扩展命令(下)
        • git submodule 父子模块
      • 沙海拾贝
        • 知识速查
        • 备忘录[译]
    • github 入门教程
      • github 访问速度太慢
      • github 徽章从何而来
    • gitbook 入门教程
      • 准备阶段
        • 前置知识
        • 环境要求
      • 快速体验
        • gitbook-cli 命令行操作
        • gitbook-editor 编辑器操作
        • gitbook.com 官网操作
      • 高级进阶
        • 插件介绍
          • 实用插件
          • 主题插件
          • 开发插件
        • 导出电子书
        • 发布电子书
      • 公众号引流
      • 优化搜索
      • 常见问题
        • 热加载失败治标之法
        • 初始化默认折叠效果
      • 参考更多
  • 编程笔记
    • java 学习笔记
    • go 学习笔记
    • php 学习笔记
    • python 学习笔记
      • 入门教程
        • 00-ubuntu安装
        • 01-Linux基础
        • 操作系统的发展史(科普章节)
      • Django教程
        • Django 学习笔记
    • Linux 学习笔记
      • Linux基础
      • Linux全栈运维
  • 兴趣开发
    • 从零开始搭建服务器
      • 从登录服务器开始
      • 更加优雅地部署项目
      • 跟着官方体验 Docker
      • 快速尝鲜基于 Docker 部署项目
      • 利用阿里云 OSS部署静态网站
      • 免费实现https访问网站
      • webhook
    • 运维部署
      • docker 环境
      • docker 操作
      • docker compose
      • docker + nginx
      • docker + blog
      • docker + resume
      • docker + gitbook
      • docker + Bark
      • docker + py12306
      • docker + mojo-Weixin
      • docker + wechat-work-message-push-go
      • docker + email
      • docker + mysql
      • docker + springboot
      • docker + redis
      • docker + gogs
      • docker + gitlab
      • docker + gitea
      • docker + crawlab
    • 工具资源
      • 给 mac 装个 vmware 虚拟机
        • 给 mac 虚拟机装个 windows
        • 给 mac 虚拟机装个 centos
        • 给 mac 虚拟机装个 ubuntu
      • 给 windows 装个 vmware 虚拟机
        • 给 windows 虚拟机装个 mac
        • 给 windows 虚拟机装个 windows
        • 给 windows 虚拟机装个 centos
        • 给 windows 虚拟机装个 ubuntu
      • 公众号历史文章备份
        • Ryen
        • 苏生不惑
        • Python技术
      • 学会开发专属 chrome 插件
      • 攻克 12306 前端加密算法
    • 如何写作
      • markdown 和富文本
      • markdown 转富文本
      • csv 半手动数据统计
      • js 半手动数据统计
      • 简述优选文章统计
      • 快速上手Mermaid流程图
      • 常见问题
  • 读书观感
    • 大数据浪潮之巅:新技术商业制胜之道
  • 程序人生
    • 待完成清单
      • yarn快速入门
      • gulp快速入门
      • nvm快速入门
      • lodash快速入门
      • regexper快速入门
      • sublime快速入门
      • github 快速入门
      • svn 快速入门
      • java 快速入门
      • mysql 快速入门
      • maven 快速入门
      • tomcat 快速入门
      • gitignore 快速入门
      • android studio 快速入门
      • npm 快速入门
      • nginx 快速入门
    • 其他
      • 重装开发环境
      • 钉钉签到提醒
      • 倒计时提醒
      • 关注网站
      • 转型之路
      • 历史统计
      • 关于作者
      • 捐赠支持
由 GitBook 提供支持
在本页
  • 前情概要
  • 高频配置
  • alias 别名
  • core.editor 编辑器
  • core.template 提交模板

这有帮助吗?

在GitHub上编辑
  1. 入门教程
  2. git 入门教程

私人定制

前情概要

初识 git 时,我们就已经接触过 git 的基本配置,使用 git config 命令配置用户名和邮箱:

# 配置当前项目(`local`)的用户名(`adsryen`)
git config --local user.name "adsryen"

# 配置当前项目(`local`)的邮箱(`adsryen@163.com`)
git config --local user.email "adsryen@163.com"

快速回忆一下配置的相关语法:

# 查看默认全部配置: `local>global>system`
git config --list

# 查看当前项目配置,等同于 `.git/config` 文件
git config --local --list

# 查看当前用户配置,等同于 `~/.gitconfig` 文件 或 `~/.config/git/config` 文件
git config --global --list

# 查看当前系统配置,等同于 `/etc/gitconfig` 文件
git config --system --list

man git-config 查看帮助文档,git 的配置文件是普通文本,也可以直接编辑.

高频配置

总体来说,git 的配置项基本分为两类: 客户端和服务端.其中大部分属于客户端配置, 除非使用自己搭建私服,否则没机会手动配置服务端(第三方服务器基本都支持可视化配置,比如禁止强制推送等配置).

alias 别名

熟悉 linux 操作的小伙伴对 ll 这个命令可能再熟悉不过了,是 ls -l 的缩写,称之为别名.

git 也支持别名,有个别名我们可以将常用的命令都缩短,大大降低出概率,提高工作效率.

# `git checkout` 缩写成 `git co`
git config --global alias.co checkout

# `git commit` 缩写成 `git ci`
git config --global alias.ci commit

# `git branch` 缩写成 `git br`
git config --global alias.br branch

如此一来,以后再也不用担心打错字了,简化命令,懒人至上!

core.editor 编辑器

默认情况下,git 使用的是 $VISUAL 或 $EDITOR 配置的文本编辑器,如果没有设置,则调用 vi 编辑器创建和编辑文本信息.

查看当前编辑器配置项:

# 查看编辑器配置项: 若没配置过,则无内容输出,已配置过的话,会输出相应编辑器信息
git config core.editor

假设使用 sublime 作为默认编辑器,那么便可如下设置:

# `Mac` 系统如下设置: 设置成自己的 `Sublime` 的安装路径
git config --local core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"

# `Windows` 系统如下设置: 设置成自己的 `Sublime` 的安装路径
git config --local core.editor "'F:\Sublime Text 3 sublime text.exe' -n -w"

此时再次查看编辑器配置项应该会输出刚才配置信息,接下来我们验证下编辑器的效果:

查看提交历史,已经提交成功(之前备注信息是在命令行中直接输入的,而现在是在编辑器中编辑)

$ git log --pretty=oneline --abbrev-commit
43fa8aa (HEAD -> master) validate sublime successfully
00e16d7 ok
2400f11 git config --local core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"
0d60cb8 ok
8fe5aba (origin/master, origin/HEAD) Merge branch 'master' of github.com:adsryen/git-demo
$ 

如果只是输入简单备注,根本用不到编辑器,若提交备注有格式化要求时再手动输入就显得力不从心了!

core.template 提交模板

如果你需要格式化提交备注,那么这种情况下模板文件最好不过了,和自定义的编辑器一起搭配,这样就能约束自己和他人按照既定格式规范填写提交备注,方便以后统一管理.

查看当前提交模板配置:

git config commit.template

假设你在当前项目下创建 commit-template.txt 模板文件,内容如下:

# This is commit template

# adsryen 

# git-demo

将编辑好的模板文件设置成提交默认信息,需要如下设置:

git config --local commit.template commiit-template.txt

此时再次运行 git config commit.template 查看已配置提交模板,现在看一下实际效果:

查看提交历史,当然也提交成功啦,可根据实际需求定制适合自己的提交模板.

$ git log --abbrev-commit
commit a2ca3f0 (HEAD -> master)
Author: adsryen <adsryen@163.com>
Date:   Wed Mar 27 16:22:18 2019 +0800

    ok
    
    myself
    
    yes

commit 43fa8aa
Author: adsryen <adsryen@163.com>
Date:   Wed Mar 27 14:58:36 2019 +0800

    validate sublime successfully

commit 00e16d7
Author: adsryen <adsryen@163.com>
Date:   Wed Mar 27 14:56:20 2019 +0800

    ok

commit 2400f11

git 还支持其他配置,暂时不一一介绍了,详情请参考在线帮助文档: man git-config

上一页里程碑式标签下一页忽略文件

最后更新于1年前

这有帮助吗?

git-custom-config-editor.gif
git-custom-config-commit.gif