Git 的安装与配置
@ Kayman · Tuesday, Jun 30, 2020 · 5 分钟阅读 · 更新于 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 参数,当缺少设置时使用默认值

本文结束。

Git
保存为图片
0

Kayman 的博客
你可以碌碌一生,但不能庸碌无为。

ByteDance (1) Flink (1) Git (6) GitHub (1) HTML (2) Hugo (3) Kafka (1) Markdown (1) Marp (1) Redis (1) Shopee (4) shortcodes (1) Universe (1) 十维时空 (1) 可爱 (1) 后端 (7) 多维空间 (1) 奇奇怪怪 (1) 字节 (1) 字节跳动 (1) 旅行 (1) 欧路词典 (1) 毕业 (1) 毕业旅行 (1) 破解 (1) 符号 (1) 腾讯 (2) 虾皮 (4) 面试 (8)

© 2020 - 2022 | Kays Blog ⑅︎◡̈︎*

Powered by Hugo with Author Kayman.

友链 :💬 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~

憨批の自我介绍

🍺 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 🤏


做过啥:

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

Share Musics   ⑅︎◡̈︎*

每日一言