Git --》分支操作与团队协作

简介: 分支操作与团队协作

Git 分支操作

在版本控制过程中,同时推进多个任务,为每个任务我们可以创建每个任务的单独分支,使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候不会影响主线分支的运行,对于初学者而言,说白了,分支可以简单理解为副本,一个分支就是一个单独的副本。

分支优点

同时并行推送多个功能开发,提高开发效率;各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。

分支操作命令

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支

我们可以查看当前分支并创建新的分支

图片.png

创建新的分支可以进行文件的修改,修改之后仍要再进行一次提交本地库过程。

图片.png

将指定的分支合并到当前分支上

图片.png

合并分支可能会产生冲突,其原因是:合并分支时,两个分支在同一个文件的同一位置有两套完全不同的修改。Git 无法替我们决定使用哪一个,必须人为决定新代码内容。 (通俗理解为:只要两个分支对同一个文件做了修改,则合并会出现conflict,因为Git不知道保留哪一个版本)

我们先把要进行合并的分支内容进行一定的修改

图片.png

修改完成后切换到 master 分支进行合并,出现了冲突日志,提示我们自动合并失败,因为在say.txt文件里面有合并代码冲突

图片.png

因为git对两个分支都进行了修改,git不知道我们要保存哪一个,所以出现合并冲突。

图片.png

接下来需要我们进行手动合并。直接编辑 say.txt 将我们要保留的内容留下了。:wq 保存即可。

图片.png

图片.png

保存之后,还需要将我们人为修改的文件再一次提交到本地库上 。注意:再一次提交本地库的时候不需要在写文件名,否则会报错。

图片.png

总结: 创建分支的本质就是多创建一个指针;HEAD如果指向 master,那么我们现在就在 master 分支上;HEAD如果执行hot-fix,那么我们现在就在hot-fix指针上。

Git中分支常用命令步骤:

# 列出本地所有分支

git branch

# 列出所有远程分支

git branch -r

# 新建一个分支,但依然停留在当前分支

git branch [branch-name]

# 新建一个分支,并切换到该分支

git checkout -b [branch]

# 合并指定分支到当前分支

git merge [branch]

# 删除分支

git branch -d [branch-name]

# 删除远程分支

git push origin --delete [branch-name]

git branch -dr [remote/branch]

如果同一个文件在合并时都被修改了则会引起冲突,解决办法是我们可以修改冲突文件后重新提交!选择要保留他的代码还是你的代码!master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况在新建的分支如dev上工作,工作完之后比如要发布,dev分支代码稳定后可以合并到主分支 master 上来。

分支在Git中相对较难,分支就是科幻电影里面的平行宇宙,如果两个平行宇宙互不干扰,那对现在的你也没啥影响,在某个时间点一旦两个平行宇宙合并了,我们就需要处理一些问题了。

图片.png

补充知识

我们可以在gitee网站末尾查看一些 Git 相关知识,这里简单的说一下。

图片.png

图片.png

gitee中 Git 命令学习,通过游戏的方式来学习,真的挺香的了。

图片.png

Git 团队协作

团队内协作

图片.png

跨团队协作

图片.png

相关文章
|
26天前
|
开发工具 git
记IDEA Git版本回退并push到远程操作
记IDEA Git版本回退并push到远程操作
28 1
记IDEA Git版本回退并push到远程操作
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git
|
1月前
|
开发工具 git
web后端-IDEA的Git操作
web后端-IDEA的Git操作
|
2月前
|
前端开发 算法 开发工具
Git分支批量清理利器:自定义命令行插件实战
Git分支批量清理利器:自定义命令行插件实战
43 0
|
2月前
|
开发工具 git
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
81 0
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git
|
7天前
|
Linux 开发工具 git
还不会 Git 子模块操作?一文教你学会 git submodule 的增、删、改、查!
还不会 Git 子模块操作?一文教你学会 git submodule 的增、删、改、查!

相关实验场景

更多