Git的正确使用姿势| 青训营笔记

133 阅读3分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记

一.Git是什么

引用Git官方文档的一段话

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

“distributed version control system”分布式版本控制系统

1.1什么是版本控制?版本控制的作用

一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。简单来说就是记录开发人员每次的代码变更,方便对改动的代码进行检查,预防事故的发生。

分布式版本控制是版本控制的一个类型

代表性的工具就是Git

1.2基本原理

1.每个库都存有完整的提交历史,可以直接在本地进行代码提交 2.每次提交记录的都是完整的文件快照,而不是记录增量 3.通过Push等操作来完成和远端代码的同步

1.3优点

1.分布式开发, 每个库都是完整的提交历史,支持本地提交,强调个体 2.分支管理功能强大,方便团队合作,多人协同开发 3.校验和机制保证完整性,一般只添加数据,很少执行删除操作,不容易导致代码丢失

1.4缺点

1.相对SVN更复杂,学习成本更高 2.对于大文件的支持不是特别好(git-lfs 工具可以弥补这个功能)

二.Git的发展历史

2.1作者

Linus Torvalds (就是Linux这个项目的作者,同时也是Git的作者,前人栽树后人乘凉,大佬在哪里都是大佬)。

2.2开发原因

怀疑Linux团队对BitKeeper (另-种分布式版本控制系统,专有软件)进行了逆向工程,BitKeeper 不允许Linux团队 继续无偿使用。因此决定自己开发一个 分布式版本控制系统。

2.3开发时间

大概花了两周时间,就完成了Git 的代码第一个版本, 后续Linux项目就开始使用Git进行维护。

三.Git的基本使用方式

image.png

3.1常见的Git配置

用户名配置

git config --global user.name "liaoxingju" git config --global user.email liaoxingju@bytedance.com

image.png

Instead of配置

git config --global url.git@github.com.insteadOf github.com/

image.png

Git命令别名配置

git config --global alias.cin "commit --amend --no- edit"

image.png

3.2Git Remote命令

3.2.1 查看Remote

git remove -v (出现“ 没有这个命令的提示”)

添加Remote

git remote add origin_ ssh git@github.com:git/git.git git remote add origin_ http https:/ /github.com/ git/git.git

3.2.2 HTTP Remote

URL: github.com/git/git.git

免密配置

内存: git config - -global credential.helper 'cache --timeout=3600'

硬盘: git config --global credential.helper "store - file /path/to/credential file"

不指定目录的情况默认是~/ .git-credentials

将密钥信息存在指定文件中 具体格式: scheme://{scheme}://{user}:${password}@github.com

3.2.3 SSH Remote

URL: git@github.com:git/git.git

免密配置

SSH可以通过公私钥的机制,将生成公钥存放在服务端,从而实现免密访问

目前的Key的类型四种,分别是dsa、rsa、ecdsa、 ed25519 默认使用的是rsa,由于一 些安全问题,现在已经不推荐使用dsa和rsa了,优先推荐使用ed25519