Git 实用配置笔记

作者:James Zhu ([email protected])

创建日期:2018-09-12

正文

在用户主目录下,有一个 .gitconfig 文件。这个文件为当前用户的Git默认配置。

[user]
    name = James
    email = [email protected]
[filter "lfs"]
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
    process = git-lfs filter-process
    required = true
[core]
    excludesFile = ~/.git/.gitignore
    hooksPath = ~/.git/hooks
    mergeOptions = --no-edit
    quotePath = off
[alias]
    workemail = config user.email [email protected]
    workuser = !git config user.name "My Name" && git config user.email [email protected]
    truncate = !sh -c ~/.git/git-truncate.sh

前两个没什么特别说的,主要说一下 corealias 下面几个配置的用法:

  1. core.excludesFile

    配置全局排除文件,具体gitignore相关资料请查阅此文

  2. core.hooksPath

    默认hooksPath为 $GIT_DIR/hooks ,即每个Git库下的hooks目录。将它配置为绝对路径后,即所有Git库使用同一个hooks目录。

  3. core.mergeOptions

    在执行 git merge 等命令时,会唤醒编辑器,让你输入合并提交消息。配置该选项后,不会出现编辑器界面,直接提交。

  4. core.quotePath

    在执行 git status 等命令时,对于中文文件名会进行转移。配置该选项后,即会直接显示中文文件名。

  5. alias.workemail

    创建一个git workemail的子命令,快速为当前项目设置 user.email

    $ git workemail
    

    以上命令等于

    $ git config user.email [email protected]
    
  6. alias.workuser

    创建一个git workuser的子命令,快速为当前项目设置 user.nameuser.email

    $ git workuser
    

    以上命令等于

    $ git config user.name "My Name"
    $ git config user.email [email protected]
    
  7. alias.truncate

    创建一个git truncate的子命令,删除当前版本库的所有历史记录并推送到远程,详细内容请查阅此文,这里只是作一个直接调用Shell命令的示例。

    $ git truncate
    

    以上命令等于

    $ sh -c ~/.git/git-truncate.sh
    

参考资料

results matching ""

    No results matching ""