【Git】Git分支、与gitee平台对接、Fork、Git工作流、在idea中配置Git、分支实战

一 分支

1 分支原理

系统上线后,又要修改bug,又要开发新的功能。

由于新功能没有开发完,所以需要建立分支,一边修改bug,一边开发新功能,最终合并。

在这里插入图片描述

2 分支实操

# 查看分支
git branch -v
# 输出内容
* master 49efe51 bug fix
# 添加分支
git branch -v
# 输出内容
  dev    49efe51 bug fix
* master 49efe51 bug fix
# 切换分支
git checkout dev
# 输出内容
* dev    49efe51 bug fix
  master 49efe51 bug fix
# 在dev分支新建一个类
touch src/java_test01.java
git add src/java_test01.java
git commit -m "new test02"
# 可以看到两个分支的版本不一致了
git branch -v
* dev    38444da new test02
  master 49efe51 bug fix
# 切换回master,新类不见了
git checkout master
# 切换回dev,新类又出现了,从.git文件中恢复
git checkout dev
# 功能汇总,以master为主
git checkout master
git merge dev
# 版本一致
$ git branch -v
  dev    38444da new test02
* master 38444da new test02

3 版本冲突

(1)冲突产生

新功能继续开发,但开发中途主干修复了bug,新功能也需要使用修复好的主干,这时就要以分支为主

注意bug修复之后与新功能之间是否存在冲突

也需要注意分支上和主干上同时进行了bug的修复,但修复的方式不一样,无论是主干与分支合并,还是分支与主干合并,最终合并的版本会出现同一段代码出现了两种写法,保留哪个,git很难去判断,需要程序员来手工判断解决冲突。

(2)合并时冲突

程序合并时发生冲突系统会提示CONFLICT关键字,命令行后缀会进入MERGING状态,表示此时是解决冲突的状态。

在这里插入图片描述

(3)解决合并时冲突

此时通过git diff 可以找到发生冲突的文件及冲突的内容。

然后修改冲突文件的内容,再次git add 和git commit 提交后,后缀MERGING消失,说明冲突解决完成。

新建分支,切换分支:git checkout -b <分支名>

修改文件内容,并添加,提交:(同时修改第x行)

切换主分支:修改文件内容,并添加,提交:(同时修改第x行)

当把其他分支合并到主分支时出现冲突:

# 制造冲突
vim src/java_test.java
# 添加一行A
git add src/java_test.java
git commit -m "insert A"
# 切换分支
git checkout dev
vim src/java_test.java
git commit -m "insert B"
# 此时两分支彼此独立,不会产生问题
git branch -v
* dev    56bc207 insert B
  master 7434eb8 insert A
# 合并
git merge master
# 产生提示
Auto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneTenTwo76

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值