Git 的安装与配置

Tuesday, Jun 30, 2020 | 5 | Tuesday, Jun 30, 2020

@

针对 macOSGit 安装和使用说明文档 ⑅︎◡̈︎*

 
——> 全文约 1900 字 <——
 
 
绝对是全网最通俗最详细的学习教程!一片空白的我都能学会你还在等什么!
↓    ↓    ↓    ↓    ↓    ↓    ↓    ↓
 

Git 是什么

Git 是一个分布式版本控制系统,与集中式的版本控制系统不同的是,每个人都工作在通过克隆建立的本地版本库中。也就是说每个人都拥有一个完整的版本库,查看提交日志、提交、创建里程碑和分支、合并分支、回退等所有操作都直接在本地完成而不需要网络连接。

对于 Git 仓库来说,每个人都有一个独立完整的仓库,所谓的远程仓库或是服务器仓库其实也是一个仓库,只不过这台主机 24 小时运行,它是一个稳定的仓库,供他人克隆、推送,也从服务器仓库中拉取别人的提交。

Git 是目前世界上最先进的分布式版本控制系统,没有之一!

-------------------------------------------------------------------------
`Git` 分为三个区:
  • 工作区( Working Diretory )用于修改文件
  • 缓存区( Stage )是用来暂时存放工作区中修改的内容
  • 提交历史( Commit History )提交代码的历史记录

如下图所示:

举个例子,我在本地电脑的 A文件夹 下修改某文件中的一行代码,这个修改信息就被 git 自动发现了,它把这个信息记在自己的小本子上,我们可以把每次 被修改过的A文件夹整体 看作是一个新的犯人,使用 git add 把这个犯人放到缓存区里暂时拘留,再通过 git commit 把这些文件放到本地的仓库正式坐牢,而仓库里储存了每个犯人的犯罪信息(我自定义的信息),通过 push 可以把仓库里的犯人同步到远程仓库,这时候远程仓库和本地仓库的信息就一样了。

Git 的安装

Mac 本身自带 Git ,但是版本老旧,缺少部分功能,因此需要对 Git 进行升级,网上对于 Git 升级的方法有许多,在这里我 po 出一个未验证的方法,以后用到再进行补充:

一共分为 4 步:

  1. 备份旧的 Git 目录
$ cd /usr/local/bin
$ ls git*
$ mkdir backup-git # 文件夹名字为 backup-git ,可以更换
$ mv git* ./backup-git/ # 移动文件
  1. 安装新的 Git
$ brew install git # 根据官网描述这样下载也许不是最新发布版本(但是无伤大雅
  1. 修改环境变量
$ vim .bash_profile  # 打开配置文件

# ↓ 添加以下内容 ↓
$ export GIT=/usr/local/Cellar/git/2.1.3 # 这里写你自己下载的 Git 版本地址
$ export PATH=$GIT/bin:$PATH
  1. 刷新环境变量
$ source ~/.bash_profile # 命令立即生效

通过以下命令查看当前的 Git 版本:

$ git --version
-------------------------------------------------------------------------
ps. 官方资料说以下的命令也可以升级,但是我没有验证过!在此也 po 一下。
$ git clone git://git.kernel.org/pub/scm/git/git.git

你可以继续从几个地方来取得最新发布版本的 tar 包。 你可以从 Kernel.org 网站获取,网址为 https://www.kernel.org/pub/software/scm/git , 或从 GitHub 网站上的镜像来获得,网址为 https://github.com/git/git/releases 。 通常在 GitHub 上的是最新版本,但 kernel.org 上包含有文件下载签名,如果你想验证下载正确性的话会用到。

本段来源:https://git-scm.com/book/zh/v2/起步-安装-Git

Git 的配置

在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量,在这里我推荐使用 Mac终端进行以后的各种操作,因此只介绍行为方面的配置信息。

  • ⚠️ 用户信息配置 ⚠️

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

$ git config --global user.name "CaymanHK"
$ git config --global user.email cayman@xxx.com
# 此用户名和邮箱是 Git 提交代码时用来显示你身份和联系方式的,并不是GitHub 用户名和邮箱

ps. 如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情,Git 都会使用全局配置信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

-------------------------------------------------------------------------
- 检查配置信息

使用 git config --list 命令来列出所有 Git 配置。

 
ps. 关于 `git config` ,还有以下的用法:
用法: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 参数,当缺少设置时使用默认值

本文结束。

© 2020 - 2026 Kays Blog ⑅︎◡̈︎*

🌱 Powered by Hugo with theme Dream.

憨批の自我介绍
🍺 Kayman' Blog 🏎️

这个博客用来记录一些生活&学习上的事情 ⑅︎◡̈︎*

一名憨憨CRUD专家,现就职于Shopee ,数据鸡架的 Flink 方向

业余时间只剩下 羽毛球🏸️|篮球🏀|德州♠️|打游戏🎮|肥宅🥤 了……

-- 2022 年 02 月 08 日更新 --

一名憨憨CRUD专家,现即将从就读于 🏫 北大青鸟毕业

业余时间会做开源和一些别的项目啥也不会做

目前准备去1075了,顺便捣鼓些Geek Proj,养老的同时培养点兴趣驱使方向。


在北大最好的朋友是 江栽花 ,我们一个负责吹牛皮一个负责去 GayHub 偷别人的优秀代码,完成过很多烂番茄项目,搞过一段时间的磕盐。

尽管也没人认识我们,但是还是客套地说一下

-- 2021 年 06 月 18 日更新 --
技术栈 & Project

主要的技术栈是:

  • 目前工作的方向是 Flink ˙Ꙫ˙

  • Java ˙Ꙫ˙

  • Python ˙Ꙫ˙

  • SQL ˙Ꙫ˙

  • 一点点的 html + css + js 🤏

  • 一点点的 shell 🤏


做过啥:

(其实啥也没做过 ⑅︎◡̈︎*)

友链 :💬 I will put some of my friends' and technical Dalaos' blogs HERE so as to encourage myself (umm though it may not work hahah~) 📣 😤
⑅︎◡̈︎*

My BEST FRIEND in PKU, so l list her at the first row.

I modify my front-end framework from him. List him here so as to thx him~
加载每日一言中...