

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前期准备
在一个空文件里面建立一个fish.txt文本文件,里面写一些内容,初始化本地仓库,提交到仓库
回顾一下命令的适用
git init
git add .
git commint -m'xxx'
准备结果

查看分支
查看已有的分支和当前所在的分支
git branch
# 或者
git branch -v
git branch命令会列出所有分支,当前分支前面会标一个*号
分支创建
Git 是怎么创建新分支的呢? 很简单,它只是为你创建了一个可以移动的新的指针。 比如,创建一个 testing 分支, 你需要使用 git branch < name > 命令
git branch testing
# 此时创建一个名为testing的分支
git branch 命令仅仅 创建 一个新分支,并不会自动切换到新分支中去
此时两个指针(master,testing)指向相同的历史分支,这两个指针各自指向自己所在的分支
同时还有一个HEAD的指针,用来指明当前所在的分支,此时HEAD指向master就代表当前在master分支

使用git branch查看一下,*在哪里就代表当前在那个分支

分支转换
要切换到一个已存在的分支,你需要使用 git checkout 命令。 我们现在切换到新创建的 testing 分支去:
git checkout testing
另外因为git checkout既可以恢复工作树文件(撤销操作),又可以切换分支,这样可能会有一些歧义的出现,所以新版本建议适用git switch
git switch testing
通过括号里面的内容也可以进行判断

在新分支中添加记录
在新的分支中,在新文件家中添加内容‘testing’,并提交到仓库
此时会建立仓库中会出现一个新的记录,效果入下图

切换回master分支

此时HEAD指针指向了master,此时在查看fish.txt文件中的内容,就会发现内容已经恢复到原来未修改的状态

分支合并
我们现在分两种选择,
- 一、直接将testing分支上的内容合并到master分支,这样不会发生版本冲突的问题
- 二、在master分支上继续进行修改,然后再选择合并分支,这样会发生版本冲突的问题
我们先进行第一种直接合并分支
git merge testing # 把指定分支合并到当前分支

此时再查看fish.txt文件中的内容,就会发现原本再testing分支中修改的文件内容出现到了master分支中
这种master分支没有内容改变的合并不会出现冲突的问题。
第二种就是master分支和testing分支都进行了修改,此时在选择合并就会发生冲突
首先需要在在两个分支上分别修改并提交到版本库
- 在testing分支下向文件中添加
testing2222

- 在master分支下向文件中添加
master2222

命令的全过程
git switch testing # 切换到testing分支
vim fish.txt # 使用vim编译器修改文件内容
git add . # 添加到暂存区
git commit -m'test2commit' # 提交到版本库
git switch master # 切换到master分支
vim fish.txt # 使用vim修改文件内容
git add . # 提交到暂存区
git commit -m'mastercommit' # 提交到版本库

此时合并分支

冲突(内容):合并fish.txt中的冲突
自动合并失败;修复冲突,然后提交结果
使用 git status也可以查看此时发生冲突的文件

为什么会发生冲突
其实就是在两个分支中同时修改了同一个文件的内容,在合并时,Git不能够知道你需要那个文件里面的内容,所以就将两个文件修改的内容全部保存下来,然后让你根据自己的需要进行内容的修改,这个也是后面解决代码冲突的基本思路
代码合并冲突解决
发生冲突后,我们先看一下发生冲突的文件内容

此时会发现文件中有部分数据分别是两个分支中各自添加的内容,使用<<<<<<< ,=======,>>>>>>>区分开来并且还提示那些内容是属于那一个分支的
然后我们修改文件的内容,根据实际需求选择需要的内容,

解决冲突以后,再进行一次提交
git add .
git commit -'conflict fixed'

至此冲突就已经解决
如果你想了解这段时间内发生的内容,可以查看具体的日志信息git log
分支合并图
使用该指令git log --graph可以看到分支记录以及图

删除分支
合并代码以后就可以这个删除开发分支
git branch -d testing



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
9万+

被折叠的 条评论
为什么被折叠?



