移动测试开发 sourcetree 使用小心得

opentest-oper@360.cn · 2022年06月09日 · 4869 次阅读

本轮防控需要居家办公,深刻体会了一把及时同步代码的重要性。回想频繁使用的 git 指令、不断修改的代码,提供图形化界面的 sourcetree 就显得更方便了些许,因此提上使用日程。

一、安装

sourcetree 下载地址:https://www.sourcetreeapp.com/
说明:使用 git 这个工具分为两个部分,一个是图形化界面,还有一个是为他提供服务的 git 工具本身。
当我们安装 sourcetree 时候,会把这俩部分都一起安装上。

二、基本概念

工作区、仓库、远端会有复杂的交互关系,sourcetree 图形化界面可以将他们有效串联起来。

下面按照步骤就可以将软件使用明白啦~

三、操作

  1. 新建本地仓库
    ①. 在电脑上,新建文件夹;
    ②. 打开 sourcetree->新建->创建本地仓库;
    ③. 路径填写,第一步创建的文件夹;
    ④. 此时目标路径下的文件夹,将会被 git 进行跟踪管理。
    注意目前,仅是本地使用,此时还未共享到云端。
    值得了解的一点,电脑本地的文件夹下,会有个.git 的隐藏文件,未来文件修改等信息,都会记录于此,我们无需过多关注这些细节,所以这个文件夹一般默认情况下都是隐藏的。
    .git 所在的目录,就可以叫做工作区。

  2. 提交文件
    ①. 工作目录下,新建文件 A,
    ②. sourcetree 中,文件 A 会出现在未暂存文件中
    ③. 勾选文件,自动移动到已暂存文件中
    ④. 提交按钮,提交到仓库,进行版本管理。

  3. 工作列表
    所有的提交都会形成一个节点展示在图表列中,有意思的是,可双击历史节点可回到历史版本,而此时,空心节点、HEAD 标签提示大家,工作区已经切换到了指定版本。

  4. 重置到历史提交
    当对于修改的内容后悔了,可在指定版本上,右键重置。那经常使用的模式有两种
    ①. 混合合并:回到历史,但修改的内容也不会丢,在未暂存区域内,对于我们还有考虑的余地
    ②. 强行合并:丢弃所有的本地改动,使用指定版本内容,将本地直接覆盖

  5. 创建新分支
    点击分支-->弹出对话框-->新分支命名-->创建分支

完成后,可见 dev 和 master 这两个标签在最新节点一同出现,说明此时的新分支与 master 内容一致。

  1. 在新分支上动工
    简单的,我们在新分支添加新文件,修改提交,如「提交文件」那样。
    值得注意的是:
    ①. 双击可切换分支。
    ②. 当空心节点指向哪个分支,就是当前的工作空间,此时对文件的修改提交,都会默认在本分支上。

  2. 移植到 master 主分支
    想移植到哪个分支,就切换到哪个分支,进行合并。
    如我们想将 dev 分支合并到 master,那么就双击 master 分支,点击操作栏合并按钮。
    弹出对话框,提示我们要合并什么样的内容,选中给出的轨迹节点,就可以进行合并提交。
    对话框下方会几个常用选项。

①. 当选择:无论是否可以快进更新都创建新的提交,简单的理解这是一个打包的过程。
将 dev 分支的几个提交节点,打包作为一次修改挪到了 master 分支,并且在 master 主分支创建了一个新的节点。此时会自动生成一个描述叫:merge branch...
仔细观察可发现,标签的颜色和节点颜色是一一对应的。

②. 当增加选项:用变基代替合并(警告:请确保您还没有推送您的变更)
将 dev 分支的每个节点分别挪到 master 分支。
所谓变基,就是改变基准,之前 master 是基准,现在以 dev 分支为新基准,所以图表中的主干分支也会将 dev 的节点信息展示出来。效果如下图所示

提到变基,还有一种实现方式:切换到 master 分支,选中要挪动的节点内容,右键,选择变基,也可实现变基方式合并分支。

  1. 整合节点
    在 dev 分支中,多次提交可合并成一次提交,来实现对提交内容的压缩。
    右键节点,选择交互式变基,弹出对话框,即可看到之后节点的信息,用以前的提交来 squash,意思就是将节点压缩成一次提交。
    使用场景:对于节点太多,图表中不简洁,可使用次功能。

  2. 冲突
    ①. 两个开发分支,修改了同一个文件,其中一个已经合并到主干分 支,另一个再去合并就会出现冲突。
    ②. 当在弹出 “合并冲突” 弹窗后,点击确定,在 sourctree 面板中可查看文件状态,此时为冲突状态。
    ③. 点击提交,可查看冲突原因
    ④. 双击冲突文件,查看冲突位置,手动修改代码
    ⑤. 修改完成后,在 sourcetree 中,右键冲突文件,标记为已解决,即可提交成功





  3. 忽略文件
    实际工作中还会遇到下边的情况,有些文件,不想被追踪,那么可以右键选择忽略,后期就不会被展示在暂存区。

当设置完成后,未暂存区会出现个.gitignore 的隐藏文件,为配置文件,里边会具体描述本仓库不被跟踪的内容。
当把.gitignore 文件提交后,那么在本地更改忽略文件的内容,将不会在文件状态中展示。
那么关于.gitignore 文件的写法有三种:
①. 精确文件名 -- 针对特定的文件
②. *.conf (--针对特定类型的文件,会忽略所有带有此后缀的文件)
③. /hulue (--针对特定目录下的,会忽略此文件夹下的所有文件)

  1. 远端关联 - 推送
    云端平台我们自己动手搭建,市面上比较常见的服务供应商有,GitHub、CODING、码云、GitLab。
    目前本地已经对项目做好了管理,那么想要在网络上进行同步,需要进行设置。
    配置好仓库后,可使用推送功能,将本地推送到云端,这样在云端就拥有了和本地相同的文件内容。

  2. 远端关联 - 拉取
    工作终端发生变更后,如由办公室的电脑换回到家里的电脑,可通过拉取方式,将云端同步下来,进行修改操作。
    而如何拉取呢,首先找到云端仓库位置,复制 https 的链接;然后在 sourcetree 中新建仓库,采取克隆方式,填写 https 链接;这样就可完成同步。
    之后按需修改后,亦可按照前面「提交」步骤,提到云端。

四、其他

通过本篇的使用方式总结,大家在 sourcetree 全流程的使用上,心里应该有了底气。
最后给大家推荐一个 git 学习的方法,在线练习 git 命令行:https://learngitbranching.js.org

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册