自定义 Git

embedded/2025/2/16 2:03:33/

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

配置别名

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

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

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

$ git config --global alias.st status

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

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

以后提交就可以简写成:

$ git ci -m "bala bala bala..."

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

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

git config --global alias.logone "log --pretty=oneline"

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

[alias]st = statuscm = commit -m

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

$ git config --global --unset 

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

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 ​文件中:

$ cat .git/config
[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = true
[remote "gitee"]url = git@gitee.com:peterjxl/LearnGit.gitfetch = +refs/heads/*:refs/remotes/gitee/*
[remote "github"]url = git@github.com:Peter-JXL/LearnGit.gitfetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]remote = giteemerge = refs/heads/master

一些其他配置

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

$ 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 系统中默认是关闭的。

此时,我们可这样配置:

$ git config --global core.longpaths true


http://www.ppmy.cn/embedded/119063.html

相关文章

【技术文章】PostgreSQL分区表

引言 PostgreSQL作为一款高度可扩展的企业级关系型数据库管理系统,其内置的分区表功能在处理大规模数据场景中扮演着重要角色。本文将深入探讨PostgreSQL分区表的实现逻辑、详细实验过程,并辅以分区表相关的视图查询、分区表维护及优化案例,…

GB/T28181规范解读和技术实现

GB/T28181发展历程 GB/T28181-2011: 提出与起草:由公安部科技信息化局提出,全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草。发布与实施:2012 年 6 月 1 …

接收缓冲区、发送缓冲区、读状态、写状态他们之间的关系

接收缓冲区: 位于接收端(通常是服务端或客户端)的套接字中的缓冲区,用于暂存来自发送端的数据。当发送端发送数据时,数据首先到达接收端的接收缓冲区。 发送缓冲区: 位于发送端(通常是服务端…

【第十六章:Sentosa_DSML社区版-机器学习之生存分析】

【第十六章:Sentosa_DSML社区版-机器学习之生存分析】 16.1 加速失效时间回归 1.算子介绍 加速失效时间回归模型Accelerated failure time (AFT)是一个监督型参数化的回归模型,它可以处理删失数据。它描述了一个生存时间的对数模型,所以它通…

Spring Boot入门指南

目录 1. 什么是Spring Boot? 2. Spring Boot的核心特性 3. 为什么选择Spring Boot? 4. Spring Boot项目搭建 4.1 使用Spring Initializr快速生成项目 4.2 使用Maven构建Spring Boot项目 5. 构建一个简单的Spring Boot Web应用 5.1 控制器&#xf…

【2023工业3D异常检测文献】PointCore: 基于局部-全局特征的高效无监督点云异常检测器

PointCore: Efficient Unsupervised Point Cloud Anomaly Detector Using Local-Global Features 1、Background 当前的点云异常检测器可以分为两类: (1)基于重建的方法,通过自动编码器重建输入点云数据,并通过比较原…

centos离线安装nvm

​​​​​​​ 在一个可以访问互联网的机器上,访问NVM的GitHub页面:GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions。 下载最新版本的NVM脚本。通常,你可以点击“…

全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)

全新一区PID搜索算法TCN-LSTM注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab) 目录 全新一区PID搜索算法TCN-LSTM注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)效果一览基本…