一、git的安装及本地配置
1、git介绍
啥是个git?看百度介绍。
大多数朋友的感觉就是,太官方,看不懂。
解析:
git是代码的一套托管工具,它分为两个仓库,首先将你写的代码提交到本地仓库,这个时候只有你可以看,和你一起开发的同事看不到。将本地仓库的代码推到远程仓库(githab、gitee、gitlab等之一),然后你的同事就可以通过一个git的命令拉下你推到远程仓库的代码了。同样,只有你同事将他写的代码推送到远程仓库后,你执行git命令才能把他写的代码拉下来,合并到你的代码里。
这就是代码托管仓库的一部分优势,或许你感觉不到什么,老王举个例子,你们三个前端做一个项目,写一部分就得汇总合并一次代码吧?没有这个托管工具你怎么合并?咋用个小u盘咋copy一下,那得copy多少次,合并起来多困难,这就是代码托管工具的优势,通过几行简单的命令就实现了代码的托管和合并。
git还有一个优势,就是可以回到你提交代码的任意一个历史版本。例如,你写了这三个功能,上传,删除,添加。每写完一个功能就提交一次仓库,本地或者远程仓库都可以/后来又写了半天,发现写不对了,你想回到上传时候的代码,这个时候通过git命令也是可以回去的。
为了加深大家的记忆,便于理解,灵魂画手解析一下:
2、git本地配置及注册
1、下载地址: https://git-scm.com/
2、安装,直接下一步下一步就可以
3、安装完成后,打开终端,执行 git --version 检查是否成功安装
3、创建测试文件text,文件右击,点击Git Bash Here 打开git窗口
4、在git设置用户名和邮箱(git里不可以使用快捷键复制粘贴,必须使用鼠标右击复制粘贴)
git config --global user.name "用户名英文"
git config --global user.email "你的邮箱"
5、项目的git窗口输入 git init,初始化项目,在项目文件夹下出现git文件,初始化完成
3、git远程仓库
推荐gitee,国内代码托管仓库
1、网址:https://gitee.com/
2、直接注册
3、注册后配置ssh密钥
为什么配置密钥?
就是为了解决,git提交代码的时候,不用每次都输入用户名和密码。配置后,可以直接提交。
生产ssh公钥
在git窗口输入:
ssh-keygen -t rsa -C "这里输入你的邮箱@xxxxx.com"
从生成的这个地址下找到这个文件
复制里面的内容,也就是public key
在giee配置公钥
点击确定,输入gitee密码,验证
配置成功
配置后在git窗口输入:
ssh -T git@gitee.com
如果返回下面内容就证明配置成功
Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access.
二、git的命令以及使用
1、基础命令
将代码推到本地暂存区命令
// 注意,add后有一个空格
git add .
将暂存区的代码推到本地仓库命令
// commit后面有一个空格
git commit -m ‘提交说明’
将远程的代码拉下来(同事的代码和你之前提交的代码)
// 在拉取远程代码的时候,必须执行上面两步,将你刚写代码存放到本地仓库,如果你不执行上面两步,那你刚写的代码就会被拉下的代码覆盖
//只有你存到本地仓库了,才不会被覆盖
git pull
将拉下的代码和你存放到本地仓库的代码,一起推到远程仓库
git push
查看提交详细信息
git log
查看提交过的历史版本
git log --oneline
2、执行效果图
根据版本号,回到历史版本
git checkout 版本号
// 或者,master就是最近的一次提交
git checkout master
老王最近一次提交的代码,也就是master
git checkout 版本号,回到第一次提交代码的时候
再回到最近一次的版本,可以使用版本号,也可以使用master
三、git的分支讲解
使用分支,可以更加有条理的进行代码管理
git 默认master分支,也叫主分支
1、常用命令
创建dev分支命令
git branch dev
查看所有分支命令
git branch
切换分支
git checkout dev
将dev分支的代码合并到master分支
// 先把在dev分支写的代码提交到本地仓库
git add .
git commit -m ‘我是dev分支写的代码’
// 切换会要合并的master分支
git checkout master
// 拉取远程的代码到master分支(将同事的代码和你之前提交到远程的代码拉回来)
git pull
// 将dev分支写的代码合并到master上
git merge dev
//合并完之后,将合并的代码和pull拉下来的代码,一起推到远程仓库
git push
2、执行效果图
因为老王没添加远程仓库,所以目前不需要pull
3、合并时有冲突怎么办?
冲突就是你pull下来代码后,将dev分支的代码合并到master发现你同事和你改了同一个地方,就会出现冲突
我们模拟一下
dev你写了第13行
模拟master上,你同事也写了这个文件的第13行
合并dev到master出现冲突
报错翻译
4、解决冲突
决定留下谁的代码?还是都留下
我选择留master,上班的时候你得判断
选择后效果
选择后,再次add ,commit,将合并得代码推到本地仓库
最后执行git push,将代码推到远程
如果你还要在dev写,那就得把master最新得代码(包括同事的)合并到dev,然后接着在dev开发
图片
5、git分支图解
四、连接远程git仓库
1、在gitee新建远程仓库
点击加号,点击新建仓库
填写项目内容
创建成功提示
2、关联远程仓库
3、克隆代码
复制项目ssh
新建文件夹,打开该文件夹下终端输入以下命令
注意,git clone 后面就是你刚才复制下来的ssh
git clone git@gitee.com:ch-ninety-five/test.git