Git配置文件的常用参数解析

admin 2023-12-12 17:24:47 1039

在开发环境调试程序时候,经常会修改文件权限来姐姐问题,这时候如果使用git status命令会出现一堆文件变更列表。这时候你关闭文件权限检测就可以了,关闭命令如下:

git config core.filemode false

git配置文件详解

初始化或者clone一个git仓库时,会生成.git的目录,且隐藏,进到这个目录有个config文件也就是基础配置文件:

$ cat .git/config
[core]
    # 用于未来能够兼容git版本,决定怎么处理git命令和文件的
    repositoryformatversion = 0
    # 是否提供文件权限的diff
    filemode = true
    # 决定当前仓库是中心仓库还是开发库
    bare = false
    # 记录所有的ref更新:决定变更ref时,会不会被记录在`$GIT_DIR/logs/<ref>`目录下
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://xxxxx@git.com:8236/reposity
[branch "master"]
    remote = origin
    merge = refs/heads/master

repositoryformatversion 仓库版本
现在发布的版本号都是0,但这个属性是为了未来的兼容性,当开发者认为有新的特性需要加入的时候,可以将这个版本号改为1,此时,新的Git版本可以正确执行功能,而老的版本会出现报错:
"Expected git repo version <= 0, found 1. Please upgrade Git"filemode 文件权限
# diff时考虑文件权限为true,不考虑为false
core.filemode = true | false我们通过这个参数来决定是否会diff文件的权限,如果是源代码,可以关闭这个选项,如果是脚本、二进制程序等需要权限认证之类的还是要开启该参数的:
git config core.filemode false更改完成后再cat下.git/config就会发现该参数变了。
bare 裸仓库
我们可以使用git init来将我们的目录转换为一个Git本地仓库或者初始化为一个新仓库。在初始化的时候我们可以加上--bare参数来决定是否创建一个裸仓库。
裸仓库一般指的是远端的中心仓库,可以被clone和push更新,但不包含工作区,因此不能执行常规的git命令,也不能进行直接的提交和变更。而普通仓库却正好相反,用于我们常规协作开发时的修改和提交。
# 裸仓库为true,普通仓库为false
core.bare = true | falselogallrefupdates 记录引用更新
core.logallupdates = true | false | always当值为true时,会将所有引用(ref)的更新记录到$GIT_DIR/logs/<ref>中,包括更新的编号、日期和原因等内容。<ref>的值根据分支的不同为refs/heads/ 或 refs/remotes/等。
当值为always时,<ref>的值为refs/reflog。
当仓库为裸仓库时,值为false

 

可爱猫?Telegram电报群 https://t.me/ikeaimao

社区声明 1、本站提供的一切软件、教程和内容信息仅限用于学习和研究目的
2、本站资源为用户分享,如有侵权请邮件与我们联系处理敬请谅解!
3、本站信息来自网络,版权争议与本站无关。您必须在下载后的24小时之内,从您的电脑或手机中彻底删除上述内容
最新回复 (0)

您可以在 登录 or 注册 后,对此帖发表评论!

返回