Git本地库版本控制和分支管理

版本控制

①git log [parameter] 查看版本记录(使用Hash值指向相关信息,只显示之前的版本)
在这里插入图片描述
常用参数:
–pretty = oneline (或 --oneline,缩短Hash值) 以一行的格式进行显示
git reflog 以一行格式查看版本记录,可显示出切换版本需要移动的步数:HEAD@{步数}
在这里插入图片描述

②移动HEAD指针进行版本的变动
基于索引值操作:git reset --hard 索引值(Hash值,可使用局部值(唯一确定),可配合git reflog)
使用异或符号^:git reset --hard HEAD^ (一个^代表回退一个版本)
使用~number :git reset --hard HEAD~n (表示回退n个版本)
在这里插入图片描述
在这里插入图片描述
此处可以看出git reflog 能够显示出之前操作的所有版本信息
git log --oneline 只能显示当前指针所在位置之前的操作内容

reset常用参数:
–soft 仅仅移动HEAD指针
–mixed 移动HEAD指针、重置暂存区
–hard 移动HEAD指针、重置暂存区、重置工作区
TIPS:可以找回已经提交的删除的文件(提交删除操作(HEAD^)和不提交操作(HEAD)都能找回)
在这里插入图片描述

③git diff 文件名:将工作区的文件和暂存区的文件进行比较
git diff HEAD(历史版本)文件名:将工作区的文件和本地库历史记录比较
由于上一步我将head指针移动,只修改了暂存区,所以测试一下区别
在这里插入图片描述
PS:不带文件名,可比较所有文件

分支管理

master:主分支
其它常用分支:
feature_(功能分支):用于开发一些新的功能,然后合并到主分支,多个功能互不干扰
hot_fix(热修复):服务器不停止,修复一些bug
能够同时推进多个功能开发,提高开发效率。
指令:
①git branch -v 查看所有分支
②git branch 分支名 创建新的分支
③git checkout 分支名 切换分支
在这里插入图片描述
可以看出:新分支和master分支的指针指向同一个版本

④git merge 分支名 将其它分支合并到当前分支
TIPS:分支冲突:两个要合并的分支在同一位置做了不同的修改,系统不知道以哪个修改为主
解决:需要直接修改产生冲突的文件,然后进行跟踪,提交(此时不需要指定文件名)
在这里插入图片描述
此时可观察到两个分支的显示:即发生了冲突
可直接对冲突文件进行修改
在这里插入图片描述
然后添加到暂存区进行提交
在这里插入图片描述
此时可发现分支变为一个

发布了82 篇原创文章 · 获赞 1 · 访问量 1482

猜你喜欢

转载自blog.csdn.net/qq_41891805/article/details/104568849
今日推荐