git分支的创建和合并

本文介绍了Git的分支管理,包括如何使用gitcheckout快速创建和切换分支,如何进行分支合并以及如何处理和解决合并冲突。此外,还详细讲解了删除分支的步骤,特别强调了在合并冲突时手动解决冲突的流程。
摘要由CSDN通过智能技术生成

分支

因为Git 保存的不是文件的变化或者差异,而是一系列不同时刻的 快照 。所以Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。

git checkout 分支创建

我们使用git checkout 来创建分支:

$ git checkout -b iss01
Switched to a new branch "iss01"

git checkout -b 后面的-b 表示我们创建了分支“iss01”并切换到这个分支。
git checkout -b iss01相当于下面的两条命令:

$ git branch iss01
$ git checkout iss01

git branch如果不加任何参数,会获取当前所有分支的列表。如果添加–merged 与 --no-merged ,可以过滤这个列表中已经合并或尚未合并到当前分支的分支。(切换分支除了用git branch,还可以用git switch

git merge 分支合并

检出到你想合并的分支,然后运行git merge

$ git checkout master
Switched to branch 'master'
$ git merge iss01

git branch -d 删除分支
可能你将一个bug分支合并到了主分支,那么bug分支就不需要了,我们将它删除:

$ git branch -d iss01

如果你的分支还没有合并就需要丢弃的话,这个时候,使用-d是删除不了的。我们使用 -D将它强行删除

$ git branch -D iss01

合并冲突的产生与解决

如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们。就会产生冲突。

$ git merge iss01
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

可以在合并冲突后的任意时刻使用 git status 命令来查看那些因包含合并冲突而处于未合并(unmerged)状态的文件:

$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
Unmerged paths:
  (use "git add <file>..." to mark resolution)
  both modified: index.html
no changes added to commit (use "git add" and/or "git commit -a"

Git告诉我们,index.html文件存在冲突,必须手动解决冲突后再提交。

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改后再提交,就成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值