soucetree版本控制

本文详细介绍了如何使用Git和SourceTree进行版本控制,包括仓库创建、提交、时间点回溯、平行版本控制(分支管理)及合并操作。此外,还讲解了如何进行远端仓库的关联,实现多设备协同工作的同步。通过实例展示了普通合并、变基合并的区别,并提供了合并节点和推送拉取的操作步骤。
摘要由CSDN通过智能技术生成

本文参考了Git/SourceTree版本管理_哔哩哔哩_bilibili

一、仓库的创建与提交

1、新建本地仓库

(1)在桌面新建文件夹workspace。打开sourcetree,点击“Create”,关联workspace的路径。

(2)在桌面workspace文件夹中新建txt文件:test.txt。对test.txt文件的修改都将在sourcetree中体现。

 2、暂存与提交

  在workspace文件夹中发生改动,经sourcetree暂存、提交后方可实际保存。

 二、时间点回溯

        白色光圈指示当前workspace文件夹中的数据对应的时间点,可以通过双击其他结点可以查看此时的数据状态。        

        上述操作仅仅只能查看对应结点的文件状况。通过右击结点,选择“重置当前分支到此次提交”将跳转到此分支结点。有三种跳转模式:

一般选择混合合并和强行合并。

混合合并:跳转至结点后,需要手动丢弃文件状态中暂存的改动,即将文件状态成功重置到对应结点处。

强行合并:跳转至结点,自动丢弃该结点后的所有改动。

 三、平行版本控制

        在实际工作中,为避免多次修改造成版本混乱,通常使用分支方法,将想要做的修改在分支中进行。确认修改无误后,将分支与主支进行合并,并删除无用的分支。

        点击“分支”,创建当前结点的一个分支。勾选“检出新分支”,会创建一个与当前master(master可以理解为主版本)完全相同的分支,并且将其激活。可以在分支中对文件版本进行管理,当工作完成后,通过“合并”操作将分支中的操作合并到master。如下图:

        激活分支“dev”,在workspace文件夹中添加fruit.txt文件,并提交。进行多次改动操作。双击master,激活主支。可以发现,此前在“dev”分支中进行的操作并未同步到master中,workspace文件夹中并无fruit.txt文件。

1、普通合并

点击“合并”,选择想要和合并的平行节点勾选“立即提交合并”、“无论快进更新...”。如下图:

         此时,master已经与平行节点合并。

 遴选操作:在普通合并中,通过遴选可以只将选定的分支节点操作与master合并。切换到master中,右击需要的节点,点击“遴选”,

 2、变基合并

        与普通合并操作类似,但在勾选选项时,需要额外勾选“用变基代替合并”

3、普通与变基合并的区别

普通合并:从分支开始处起,将在分支中的操作传递给master。 

变基合并:将建立分支时的master状态替换为分支当前的状态。即在分支之后对master的操作会作用到合并之后新的master之上。

四、基本操作

1、合并节点

当工作图谱中节点过多时,可将节点合并便于管理。右键想要合并的节点,选择“交互式变基子提交”。点击“用此前的squash”将节点合并。

 五、远端关联

在多设备协同工作时,将文件存放在云中便于实现多端同步。文件存放在云端平台中与各设备本地中,设备1对本地文件进行更改,并将修改推送至云端。其他设备便能从云端平台中进行文件拉取来获得更新。

1、创建并关联云端平台

以GitHub为例,创建repository后,复制项目URL,http或ssh格式。如下:

在本地项目中,点击“设置”、“添加”,输入远端仓库名称及其URL,托管类型选择“未知”,点击“确定”。如下:

 此时,仅将本地项目与远端仓库关联,但并未将远端仓库与本地仓库同步。在sourcetree左侧“远程”栏中可以查看所关联的远程仓库状况,此时远端仓库为空。

 2、推送与拉取

将本地项目推送至云端仓库。点击“推送”,勾选需要同步至远端的分支,点击“推送”。此时远端仓库已经与本地同步,刷新GitHub网页可以发现仓库同步成功。如下:  拉取,将云端仓库同步至本地。与推送操作类似。

备注:当在本地仓库进行节点回溯时,即“重置当前分支到此次提交”,是无法直接将该分支推送至远端仓库的。需要在推送时勾选“强制推送”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值