第26天-SourceTree-Git-版本控制-分支

在这篇文章中,会说明分支(branch)在SourceTree内的用法,分支是在版本控制中很重要的一环,尤其多人开发,或是需要加入新功能等等,也可以用来回溯之前的版本。

建立新分支

要建立新分支 我们可以直接点选介面上的点选介面上的Branch,输入分支名称後点选创建分支,即可建立新分支。

1
https://h1144777.github.io/images/sourcetreebranch/001.png

2
https://h1144777.github.io/images/sourcetreebranch/002.png

3
https://h1144777.github.io/images/sourcetreebranch/003.png

切换分支

在SourceTree内切换分支的方法非常简单,只要将滑鼠指标移到想要切换到的分支上快速点左键两下,或是在该分支上点选右键选择Checkout就可以快速切换。

https://h1144777.github.io/images/sourcetreebranch/004.png

删除分支

删除分支有两种方式:

第一种直接到该分支点选右键,选择Delete。

https://h1144777.github.io/images/sourcetreebranch/005.png

第二种则是点选Branch,再点选上方的 Delete Branch,下方清单的分支可以多选後删除(有显示Origin的则是在github服务器上的分支)

https://h1144777.github.io/images/sourcetreebranch/006.png

上传分支

首先点选Push

https://h1144777.github.io/images/sourcetreebranch/007.png

然後勾选要上传的分支,如果服务器上还没有这个分支,勾选後Remote Branch会自己显示新分支的名称,此时只要Push上去就完成了。

https://h1144777.github.io/images/sourcetreebranch/008.png

分支版本

分支都会有一个主要的版本,有再其他分支更改过内容可使用commit,输入说明後提交再push上去。
因为修改或是写的内容不同,分支会出现分歧。
此时也因为本机的版本比服务器上还新,所以在分支上面都会出现提示

https://h1144777.github.io/images/sourcetreebranch/009.png

合并分支

在两人或多人协同开发专案时,可以将分开写的程序码在SourceTree上做合并分支

这是分支master的程序码

https://h1144777.github.io/images/sourcetreebranch/011.png

这是分支001的程序码

https://h1144777.github.io/images/sourcetreebranch/012.png

合并分支点选Merge後会出现以下视窗,此时我们的分支为001,要将master与001合并,所以我们选择master分支後点击OK

https://h1144777.github.io/images/sourcetreebranch/013.png

因为出现程序码不同的状况,所以出现合并冲突,会跳出警告视窗Merge conflict
关闭警告视窗後我们可以在底下看到冲突的部分

https://h1144777.github.io/images/sourcetreebranch/014.png

因为笔者使用的是vs code,所以此时可以开启这个档案查看冲突部分
开启後会显示如下图

https://h1144777.github.io/images/sourcetreebranch/015.png

此时我们可以点选比较变更来看看两方的程序码差异

https://h1144777.github.io/images/sourcetreebranch/016.png

因为一方是空白行,所以可以选择使用接受两者变更,点击後程序码会合并成下图

https://h1144777.github.io/images/sourcetreebranch/017.png

合并完成後回到SourceTree,将在Unstaged files的档案拖曳到staged files,此时的说明栏内会有刚刚合并分支的说明,可以修改说明也可以直接commit。

https://h1144777.github.io/images/sourcetreebranch/018.png

回到分支页面上,可以看到001分支已经跟master分支合并了,此时就可以将这个版本Push上github。

*要注意的是现在我们的分支都是在001,所以001分支已经跟master分支的程序码合并,但是切换到master分支後显示的为未合并的前一版本喔。

https://h1144777.github.io/images/sourcetreebranch/019.png

参考来源:

一步一步教你用 GitHub + SourceTree 做版本控制
30 天精通 Git 版本控管 (17):关於合并的基本观念与使用方式
用 Sourcetree 实现基础版本管控
本地分支冲突
合并发生冲突了,怎麽办?


<<:  Day26-不好意思,这里前方是一方通行啊!

>>:  Lektion 28. 可拆式动词・动词可以拆 Trennbare Verben

在Windows 10中更改Windows应用商店下载的位置

大多数应用程序都可以安装在非系统磁碟机上。但是,某些应用程序无法安装或移至系统磁碟机以外的磁碟机。因...

[Day 20]从零开始学习 JS 的连续-30 Days---todolist 待办事项

待办事项结构 to do list 需要输入框与输入按钮。 送出输入按钮後产生待办事项与完成按钮。 ...

2022重拾程序-画框框

青春并非挥霍健康的年龄,而是根治健康资本的年龄 短短三天非常有感 年轻就是本钱这句话 非也! 在进入...

Day 30 完结

大家好~~欢迎来到完结的一篇 本篇呢,即将要结束了,对於AI 来说 可能我给予的知识不够多,但是我希...

【把玩Azure DevOps】Day17 CI/CD从这里:Pipeline设定Schedule,每日晚上排程执行

现在有不少的软件会有一个特殊的版本叫Nightly,从字面上的意思就可以得知是指每个晚上发行的版本,...