自定义 Git

我们可以对 Git 做一些配置。

配置别名

有没有经常敲错命令?比如 git status​?status ​这个单词真心不好记。

如果敲 git st ​就表示 git status ​那就简单多了,当然这种偷懒的办法我们是极力赞成的。

我们只需要敲一行命令,告诉 Git,以后 st ​就表示 status​:

bash 复制代码
$ git config --global alias.st status

当然还有别的命令可以简写,很多人都用 co ​表示 checkout​,ci ​表示 commit​,br ​表示 branch​:

bash 复制代码
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

以后提交就可以简写成:

shell 复制代码
$ git ci -m "bala bala bala..."

--global ​参数是全局参数,也就是这些命令在这台电脑的所有 Git 仓库下都有用。

如果有空格,可以用字符串包住:

bash 复制代码
git config --global alias.logone "log --pretty=oneline"

同样的,这些配置也是在 Git 的配置文件里的(忘了的同学请回顾《安装和配置 Git》):

bash 复制代码
[alias]
	st = status
	cm = commit -m

别名就在 [alias] ​后面,要删除别名,可以修改配置文件,删除对应的行删掉;或者使用命令:

bash 复制代码
$ git config --global --unset 

如果想要查看所有别名,可以这样:

bash 复制代码
git config --list --show-origin | findstr alias

其中,findstr 是 Windows 下过滤字符串的语法,在 Mac 和 Linux 下可以用 grep。

项目配置

在 git 中,我们使用 git config 命令用来配置 git 的配置文件,git 配置级别主要有以下 3 类:

1、仓库级别 local 【优先级最高】

2、用户级别 global【优先级次之】

3、系统级别 system【优先级最低】,使用方式和 global 类似:git config --system

配置 Git 的时候,加上 --global ​是针对当前用户起作用的,相关的配置文件在用户目录下。

如果不加 --global​,那只针对当前的仓库起作用,配置文件都放在当前目录的 .git/config ​文件中:

bash 复制代码
$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "gitee"]
        url = git@gitee.com:peterjxl/LearnGit.git
        fetch = +refs/heads/*:refs/remotes/gitee/*
[remote "github"]
        url = git@github.com:Peter-JXL/LearnGit.git
        fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
        remote = gitee
        merge = refs/heads/master

一些其他配置

有时候,我们拉取项目的时候,会遇到文件名过长导致无法拉取的情况:

bash 复制代码
$ git clone git@xxxx.git

......
error:unable to create file xxxx : Filename too long
fatal:unable to checkout working tree
warning:Clone succeeded,butcheckout failed
You can inspect what was checked out with 'git status' and retry the checkout with 'git checkout -f HEAD'
......

git 是可以支持创建 4096 长度的文件名,上述问题在 Unix 系统和 Mac 系统中是不会出现的,这是在 Windows 系统中调用旧的 api,支持长度 260 长度的文件名。允许较长的文件名这个设置在 Windows 系统中默认是关闭的。

此时,我们可这样配置:

bash 复制代码
$ git config --global core.longpaths true

相关推荐
hh随便起个名2 分钟前
适合小白的git的基础使用方法
git
我会一直在的25 分钟前
Devps持续集成
git·ci/cd
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2026-02-08)
git·ai·开源·llm·github
Serene_Dream3 小时前
git 常用命令
git
jiayong233 小时前
Detached HEAD 状态详解
git
李少兄12 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
先跑起来再说18 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
承渊政道21 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力1 天前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
摇滚侠1 天前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea