Git使用手册
1.原理图
图片出处:b站up主技术蛋老师,很有趣的一个技术up,讲解通俗易懂
2.Git实操
1.设置用户名邮箱
git config --global user.name "bybinz"
git config --global user.email "bybinz@163.com"
这一步进行完之后先配置ssh免密登录,请看第10点。
2.版本控制初始化git
git init
初始化后默认处于主分支(master)
3.查看当前状态
git status
4.创建文件并写入
echo "版本1" > test.md
5.工作区添加到缓存区
git add test.md //跟踪文件,将文件状态从untrack/unstage阶段变为stage阶段
6.缓存区添加到本地仓库
git commit //会进入到vim编辑器里
git commit -m "版本2和版本3" //加了-m不会 只可以提交已经添加到缓存区的文件(只提交添加的)
git commit -am //能提交修改过,但是没有添加到缓存区的文件(修改过的就能提交)
7.查看已提交的过往版本信息
git log //查看提交历史
8.创建、切换 、删除、合并新的分支
git branch dev //创建
git checkout dev //切换分支
//创建并切换
git checkout -b dev
//删除
git branch -d dev //会有提示,如果还未合并
git branch -D dev //很确定要删除,不会提示
//合并分支
git merge dev //将dev分支合并到主分支 可能会有冲突,需自己修改文本
9.download和git clone 的区别:
download只会下载当前最新版本的文件,版本历史和操作记录不会下载,压缩文件中没有.git版本控制文件
10.配置ssh免密登录
1)检查是否已有秘钥文件
可以在C盘用户目录下查看.ssh文件下查看是否有id_rsa 和 id_rsa.pub文件,如果存在
说明已经有SSH Key,或者用cmd命令查看
cd ~/.ssh
ls //查看是否有id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
2)若没有,则先生成
ssh-keygen -t rsa -C "bybinz@163.com" //邮箱一般用为gitee或git注册账号即可,方便其他人联系
3)复制id_rsa.pub中的内容
cat id_rsa.pub
4)在Gitee或Github上添加秘钥
步骤:
2.
3.
4.5.
title随意,将复制的内容粘贴到Key,生成即可
4.测试是否配置成功
ssh -T git@github.com
git fetch和git pull的区别
最主要的区别:git fetch会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作。不会自动merge,git pull是从远程获取最新版本并merge到本地,会自动合并或修改当前的工作。
简言之,git pull=git fetch + git merge,git fetch相对来说更加安全,可以git diff之后再进行git merge,防止本地工作区的内容被覆盖
关于ssh免密登录的原理:
SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa。那么如何使用生成的一个私钥一个公钥进行验证呢?本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。 出处——前端向朔
如有侵权,请联系删除