Git 学习笔记- 准备工作

操作系统 macOS

一、说明

基于命令行学习,原因如下

  • GUI 不能涵盖所有的 Git 命令
  • GUI 种类繁多,但是命令行可以做到统一

macOS 使用终端(Terminal); Windows 用户使用命令窗口(Command Prompt)或 PowerShell 。

二、安装

在执行安装操作之前,可以先查看版本信息,是否已经安装过了

git --version

如果能看到版本信息证明已经安装过了

git version 2.23.0

安装教程可以参考git官网的中文安装教程:1.5 起步 - 安装 Git

安装完毕之后,查看版本信息检查是否安装成功即可。

三、配置用户信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改。

3.1 配置文件路径

  1. /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量。 (由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。暂时没有找到该配置文件

  2. ~/.gitconfig~/.config/git/config 文件:只针对当前用户。 传递 --global 选项让 Git 读写此文件,这会对所有 的仓库生效。

  3. 当前仓库的 .git 目录中的 config 文件,即 .git/config。 传递 --local 选项让 Git 强制读写此文件.进入某个 Git 仓库中,默认用的就是它。

每一个级别会覆盖上一级别的配置,所以 .git/config > ~/.gitconfig >/etc/gitconfig

3.2 查看配置信息

git config --list --show-origin
file:/Users/zhangwenqi/.gitconfig       filter.lfs.clean=git-lfs clean -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.process=git-lfs filter-process
file:/Users/zhangwenqi/.gitconfig       filter.lfs.required=true
file:/Users/zhangwenqi/.gitconfig       user.name=1071942338
file:/Users/zhangwenqi/.gitconfig       [email protected]
file:/Users/zhangwenqi/.gitconfig       core.autocrlf=input

其中 git config 是 git 指令,--list(列出所有) 和 --show-origin( 显示配置的来源(文件、标准输入、数据对象,或命令行)) 都是选项。没有进入具体仓库,所有只有~/.gitconfig路径的数据。更多选项可以通过在命令行中输入 git config 获得 git 帮助文档

用法:git config [<选项>]

配置文件位置
    --global              使用全局配置文件
    --system              使用系统级配置文件
    --local               使用仓库级配置文件
    --worktree            使用工作区级别的配置文件
    -f, --file <文件>     使用指定的配置文件
    --blob <数据对象 ID>  从给定的数据对象读取配置

操作
    --get                 获取值:name [value-regex]
    --get-all             获得所有的值:key [value-regex]
    --get-regexp          根据正则表达式获得值:name-regex [value-regex]
    --get-urlmatch        获得 URL 取值:section[.var] URL
    --replace-all         替换所有匹配的变量:name value [value_regex]
    --add                 添加一个新的变量:name value
    --unset               删除一个变量:name [value-regex]
    --unset-all           删除所有匹配项:name [value-regex]
    --rename-section      重命名小节:old-name new-name
    --remove-section      删除一个小节:name
    -l, --list            列出所有
    -e, --edit            打开一个编辑器
    --get-color           获得配置的颜色:配置 [默认]
    --get-colorbool       获得颜色设置:配置 [stdout-is-tty]

类型
    -t, --type <>         取值为该类型
    --bool                值是 "true" 或 "false"
    --int                 值是十进制数
    --bool-or-int         值是 --bool or --int
    --path                值是一个路径(文件或目录名)
    --expiry-date         值是一个到期日期

其它
    -z, --null            终止值是 NUL 字节
    --name-only           只显示变量名
    --includes            查询时参照 include 指令递归查找
    --show-origin         显示配置的来源(文件、标准输入、数据对象,或命令行)
    --default <取值>      使用 --get 参数,当缺少设置时使用默认值

3.3 全局配置用户名和邮箱

3.3.1 命令

  • 配置用户名 git config --global user.name John Doe
  • 配置邮箱 git config --global user.email [email protected]

3.3.2 练习和验证

//修改前
file:/Users/zhangwenqi/.gitconfig       filter.lfs.clean=git-lfs clean -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.process=git-lfs filter-process
file:/Users/zhangwenqi/.gitconfig       filter.lfs.required=true
file:/Users/zhangwenqi/.gitconfig       user.name=1071942338
file:/Users/zhangwenqi/.gitconfig       [email protected]
file:/Users/zhangwenqi/.gitconfig       core.autocrlf=input
//指令
git config --global user.name test
git config --global user.email [email protected]
//修改后
file:/usr/local/etc/gitconfig   credential.helper=osxkeychain
file:/Users/zhangwenqi/.gitconfig       filter.lfs.clean=git-lfs clean -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.process=git-lfs filter-process
file:/Users/zhangwenqi/.gitconfig       filter.lfs.required=true
file:/Users/zhangwenqi/.gitconfig       user.name=test
file:/Users/zhangwenqi/.gitconfig       [email protected]
file:/Users/zhangwenqi/.gitconfig       core.autocrlf=input

3.4 本地配置用户名和邮箱

3.4.1 准备一个仓库

首先要找一个已经存在的git仓库,没有就使用git init 初始化一个新的仓库

3.4.2 命令

  • 配置用户名 git config --local user.name test2
  • 配置邮箱 git config --local user.email [email protected]

3.4.3 练习和验证

//修改前
file:/usr/local/etc/gitconfig   credential.helper=osxkeychain
file:/Users/zhangwenqi/.gitconfig       filter.lfs.clean=git-lfs clean -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.process=git-lfs filter-process
file:/Users/zhangwenqi/.gitconfig       filter.lfs.required=true
file:/Users/zhangwenqi/.gitconfig       user.name=test
file:/Users/zhangwenqi/.gitconfig       [email protected]
file:/Users/zhangwenqi/.gitconfig       core.autocrlf=input
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=true
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.ignorecase=true
file:.git/config        core.precomposeunicode=true
//修改后
file:/usr/local/etc/gitconfig   credential.helper=osxkeychain
file:/Users/zhangwenqi/.gitconfig       filter.lfs.clean=git-lfs clean -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/zhangwenqi/.gitconfig       filter.lfs.process=git-lfs filter-process
file:/Users/zhangwenqi/.gitconfig       filter.lfs.required=true
file:/Users/zhangwenqi/.gitconfig       user.name=test
file:/Users/zhangwenqi/.gitconfig       [email protected]
file:/Users/zhangwenqi/.gitconfig       core.autocrlf=input
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=true
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.ignorecase=true
file:.git/config        core.precomposeunicode=true
file:.git/config        [email protected]
file:.git/config        user.name=test2

现在可以看到,~/.gitconfig.git/config的数据

参考


  • 如果文章帮到你了,欢迎评论或邮件
  • 如果你需要一门视频课程 玩转Git三剑客,通过链接购买我有奖励 ^_^

猜你喜欢

转载自blog.csdn.net/ZWQ0325/article/details/107017578