Git学习
1.git介绍
概念:git是一款免费、开源的版本控制系统,用于敏捷高效地处理任何或小或大的项目
作用:
1.文件存档备份
2.文件版本管理
3.多人协同合作(自动合并)
2.git三个区域
三个区域:
1.工作区:处理工作的区域
2.暂存区:临时存放的区域,等待提交
3.版本库(本地git仓库):最终的存放区域
3.git配置
git config 固定命令,设置git相关配置
–global 全局配置:一次配置,整机在使用git的时都生效
git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址
配置后,查看
git config --list
将来想要修改,直接覆盖即可
4.git的使用
新建文件夹/现有文件夹,可以运行如下命令,得到.git文件夹,即可让git开始准备管理
#初始化git仓库,产物:.git 文件夹(所在文件夹“内”被管理)
git init
然后新建文件夹,随意写入一些内容
接下来将改变的放到暂存区
git add .
然后将暂存区内容提交到版本库
git commit -m '提交的内容说明'
产看所有提交的日志记录,命令如下
git log
当日志越来越多,想要简化查看,可以输入如下命名
git log --oneline
如果修改代码过多,忘记改过哪些了,可以使用
git status
5.git的回退
回退命令语法如下:
git reset --hard 版本号
可以运行如下命令查看版本号
git log --oneline
如果想再回去,可以使用一下命令查看版本号
git reflog
然后再用回退指令
6.git忽略文件
如果一些文件/文件夹不想让git进行跟踪管理
需要再.git文件夹隔壁,创建.gitignore的忽略文件,并写入忽略规则
#表示注释
# 忽略某个指定文件
passwrod.txt
# 忽略文件夹
css
# 忽略文件夹下的某个文件
css/index.js
# 或略文件夹下某类文件
css/*.js
提交后发现只新增了.gitignore,符合规则的都被忽略掉了
之前被暂存区跟踪过,后加gitignore忽略的规则无效,之后有修改还是会被git status看到
解决:
1.先清除暂存区所有的跟踪记录
git rm -r -cached .
2.vscode里会发现所有文件状态都变成了最初始的未跟踪状态
3.重新暂存,提交一次,并写好说明即可
7.分支
问题:一个master分支,什么功能都有,不方便管理
解决:在版本库里,创建不同的分支,来分别管理他们
等某个模块开发完毕后,可以把某个子分支的代码,合并回master主分支中,项目开发完毕,主分支里最后一次提交的记录就是完整项目
8.分支的本质
1.分支其实就是一个叫HEAD的指针标记
2.每次代码提交,此HEAD指针都会往后移动一次,保证指向的(并且工作区里的)都是最后一次提交
3.比如刚才我们第二次提交后,HEAD指针指向这里,也是工作区最后一次提交的版本
9.分支的使用
创建分支命令
git branch 分支名
创建后不会自动切换分支,我们可以运行命令查看现在这个.git版本库里所有分支
git branch
其中绿色带*代表你现在所处的分支
然后手动切换分支
git checkout 分支名
注意:第一次创建并切换到此分支,这里你会发现master分支上的所有代码(和当前节点所有提交记录)都被复制了过来,在这个基础上,接着往后开发就行,不是你的页面不要碰
以后在当前reg分支下开发,就会在reg范围内,每次提交产生一次版本记录,但是不会影响到别的分支里。
10.合并分支
把reg合并到master上
1.切换回master分支上
git checkout master
2.把reg分支合并
git merge reg
后续合并时,会让写注释消息:
1.按i键然后输入内容
2.按esc键取消状态
3.按冒号和wq保存和退出
11.分支冲突
产生原因:在两个分支,修改同一个文件并提交
解决冲突:可以在vscode中选择,然后暂存并提交
12.删除分支
git branch -d 分支名
13.建立远程仓库
使用gitee。
1.新建仓库
2.输入仓库名
3.创建(不用初始化)
创建后会得到一个远程仓库的地址链接,一般是以.git结尾的地址
地址分两种:
https协议:需要输入用户名和密码
ssh协议:需要配置密匙,可免密码登录
14.ssh密匙配置
ssh key作用:实现本地仓库和gitee平台之间免密登录的加密数据传输
ssh key由两部分组成,分别是:
id_rsa(私匙文件,存放于客户端的电脑中即可)
id_rsa.pub(公匙文件,需要配置到gitee平台)
私匙加密的信息,只能通过公匙解密。公匙加密的信息,只能通过私匙解密。安全性高
先在本机生成一个私匙(以后可以重新生成)
1.打开git bash
2.ssh-keygen -t rsa
3.连续敲击3次回车
4.使用记事本打开id_rsa.pub文件,复制里面的文本内容
5.粘贴配置到码云->设置->ssh公钥中即可
15.连接远程仓库
1.先给本地仓库配置个远程仓库的地址,建立仓库之间的链接
每次push操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
#给远程仓库设置一个别名
git remote add 仓库别名 仓库地址
git remote add origin git@gitee.com:jepsonpp/test.git
# 删除origin这个别名
git remote remove origin
演示命令:git push -u 仓库别名 分支名
-u可以记录push到远程分支的默认值,将来git push即可
16.git clone
本地没有项目,要拿被人仓库的代码
git clone 目标远程仓库的git地址
克隆默认master分支
如果想要某个分支,再执行
1.git checkout -b 本地分支名 远程仓库别名/远程仓库分支名
例如:git checkout -b develop origin/develop
2.git clone -b 远程分支名 远程仓库地址
两种皆可