Git 01 入门与常用操作

Git 01 入门与常用操作

参考文献:稀土掘金 | ProGit2

与SVN的区别

SVN是集中式版本控制系统,其所有的版本管理都是集中在某个中央服务器,因此,在干活的时候,首先都需要从中央服务器中获取最新的版本,修改后将版本推送到中央服务器,因此大多数场景下需要进行联网使用。可能会更依托于相应的图形化客户端来进行同步和版本管理,便于管理美术资源等等。

GIT是分布式版本管理系统,每个人的电脑就是一个完整的版本库,可以进行独立的版本管理,多人协作可能依托于github之类的中继节点,将修改同步给对方,解决冲突。

初始化

包含ssh的详细指令在ssh的文档中,这边只介绍设置完这一系列操作之后的git初始化,主要是初始化ssh,并将私钥放到github或者gitee的账户中。
建议用Pc的名字来做标识

1
2
3
4
5
git config --global user.name "YourName"
git config --global user.email "YourEmailAdress"

# 查看相关的配置信息
git config --list

Github 设置

官方文档介绍的一些权限错误的地址:https://docs.github.com/en/github/authenticating-to-github/error-permission-denied-publickey

将本机的ssh公钥(public)放到GITHUB账户下的ssh管理地址,执行测试

1
ssh -T git@github.com

没有问题的话就可以直接进行clone,之类的git操作了

1
2
# 小trick,不拉取历史的commit
git clone --depth=1 REPO_ADRESS

SSH 常用场景和操作

SSH 常用场景和操作

主要介绍ssh服务在以下的几个方面(windows,linux)的使用情况:远程服务器连接(22),git&github(gitee),vscode免密登录。

ssh-key

GITHUB关于SSH的教程 👈可以直接切换成中文模式的

查看是否已存在

1
ls -al ~/.ssh

初始化 / 生成 ssh key

1
2
3
4
5
6
7
# github 推荐,优先度从上到下递减
ssh-keygen -t ed25519 -C "your_email@example.com"
# if not support
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# tradition
ssh-keygen -t rsa -C "chenlangl@outlook.com"

将ssh添加到github的个人权限界面中

免密登录

在github的教程中也有另一种方式来实现免密登录,好像是ssh-agent的方式安全的保存密码。