一、基本指令
1.基本用法
git config -global user.name 用户名
git config -global user.email 邮箱
必须要设置用户名和邮箱,一不是提交代码提交不上去
2.初始化仓库
1)先进入到仓库文件夹里面
2)右键鼠标git bash here
3)输入指令git init
4)打开仓库文件夹,勾选显示隐藏文件,即可看见创建好的仓库
3.查看本地库
1)git status可以查看本地库,但此时没有要提交的东西,所以显示no conmmits yet
2)所以需要进行创建,比如创建hello.txt,就输入指令vim hello.txt
3)此时会进入到vim编辑模式,其中i是进行输入;esc是退出;退出i的编辑模式时,按两下yy是复制,再按p是黏贴;当编辑完毕之后,按:键,进入底部的输入模式,此时输入wq敲回车退出vim编辑模式
4)当回到命令行界面再进行本地库查询时
会发现下面多了个我们创建的hello.txt文档,它此时是在工作区,没有被git所追踪到,所以是红色的。
4.添加到暂存区
1)在上面的基础上将文件添加到暂存区,git add hello.txt,再进行查看git status
此时git已经追踪到hello.txt这个文件了,但它此时还在暂存区,我们可以随时删除它(git rm --hello.txt),删除完以后就会退回到第3点,并且当文件在暂存区时,文件并不会留下历史记录
5.提交本地库
1)git commit -m "first commit" hello.txt指令提交本地库,"first commit"是日志信息
此时再进行查看本地库的操作后
显示没有东西要提交,工作区没有东西。但同时no commits yet这个警告也没有了
2)此时可以输入指令git reflog(日志查看)或者git log(详细日志查看)对日志进行查询操作
可以输入git cat对文件进行内容查询操作
6.修改文件
1)当文件提交完成后,想要修改数据时可以vim hello.txt
修改完毕后查看信息会看到有文件被修改了、
2)所以此时需要再进行一遍添加暂存区,提交本地库的操作
此时会看到
一个文件被修改,2行代码被插入,一行代码被删除,它是以“行”来进行操作的,比如在一行代码添加了一个代码,会显示一行代码被删除,一行代码被插入
7.历史版本穿梭
1)当文件里的内容修改并提交后想要查看修改前的文件内容,可以先git reflog查看日志 查看它的一个版本号(前面的哈希值)
2)git reset --hard 7f1b617(版本号),进行版本的穿梭(改变它的指针指向),然后再cat hello.txt进行文件内容查询
此时可以发现文件的内容已经变成修改前的文件内容了
3)查看日志会发现指针已经移到7f1b617的版本上面了
二、分支操作
1.分支概述
当一个程序需要进行更新时,得要保证原程序能边运行,边进行更新的内容操作。所以需要在运行的主干上面copy一个分支出来,来对它进行更新操作,更新测试完毕后,再把它融入到主干上面,即版本更新(此时需要进行停服维护)。当出现问题时,需要copy修改后的主干来进行热修改
2.分支的创建与修改
1)查看分支情况git branch -v
2)创建分支git branch hot-fix
会看到多了一个名为hot-fix的分支
3)切换到hot-fix分支上,git checkout hot-fix
4)对分支上的文件进行修改-暂存缓存区-提交本地库的操作
3.分支合并
先切换到主干上,然后git merge hot-fix
4.冲突合并
1)先修改master上的文件信息,暂存提交;再修改hot-fix上的文件信息,暂存提交;切换回master主干,合并hot-fix分支。
会显示提交失败,因为两个分支都做了修改,但系统不知要修改哪一个,所以会把修改的地方展示给我们
2)
其中<<<到===之间的代码,是master分支上修改后的代码,===到>>>之间的代码是hot-fix分支上修改的代码
3)看哪些内容需要进行删除和修改,修改完毕后,保存退出,暂存-提交本地库,提交本地库时后面不需要加上文件名,加上的话会报错
4)合并-查看