sourcetree的使用

文章介绍了Sourcetree作为Git的图形化管理工具,如何简化版本控制操作。在开发中,通过创建分支进行独立开发,避免直接在master分支上工作。当程序员A和B对同一文件产生冲突时,展示了如何解决合并冲突的过程,包括选择保留某个人的版本来解决冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、Sourcetree简介

二、创建分支与合并分支

三、合并冲突问题

总结



前言

今天提交项目代码时,接触到非常好用方便的可视化Git管理提交软件Sourcetree,今天记录一下使用过程


一、Sourcetree简介

  1. 通过Git可以进行对项目的版本管理,但是如果直接使用Git的软件会比较麻烦,因为是通过一条条命令进行操作的

  2. Source则可以和Git结合,提供图形界面,使用会方便很多

二、创建分支与合并分支

  1. 在Gitlab上把项目的clone ssh链接copy下来
  2. 打开这个仓库创建自己的分支,公共仓库是有一个master分支的,但是不要直接提交到master分支,每一个参加这个项目的人需要创建一个自己的分支进行提交,这样主master分支不会被打乱,项目管理者看每分支的代码是否正确再选择是否合并到master上, 
  3. 创建分支的必要性:此时远程仓库中已经有一个项目了,下面模拟一个场景:假设有两个程序猿A和B同时在开发这个项目,项目经理要求A增加一个听歌的功能,要求B增加一个游戏的功能,那么此时两个人就必须将远程仓库中的项目clone到他俩各自的本地
  4. clone下来之后会有一个默认的主分支master,可以理解成主分支,那么进行项目开发的话不会直接使用master,会去创建一个新分支进行开发,避免直接使用master改来改去最后一团糟就该崩溃了.每个人在各自的新分支中开发完成后将新分支合并到主分支就可以了
  5. 如果A和B在开发过程中想看看对方的代码,那就必须将各自创建的新分支推送到远程仓库,然后将对方的分支拉取下来,每次想看的话先获取,然后再拉取最新的代码到本地仓库即可

三、合并冲突问题

  1. 如果A和B两个程序猿同时对同一个文件进行了操作,那最后合并时就会出现冲突.
  2. 此时当A和B推送自己的分支到远程仓库后,项目经理MainProject拉取代码进行合并:假设首先合并Allen_dev到master没有问题,但是当合并B到master时就会提示合并出现了冲突,需要解决.
  3. 点击关闭,然后切换到文件状态,找到出现冲突的文件,会有相应的冲突信息:
  4. 有冲突就要解决,右键单击冲突文件,选择解决冲突,这里面有两个选项:
    1. 使用我的版本解决冲突
    2. 使用他人的版本解决冲突
    3. 我的版本指的是先合并到master分支的分支
    4. 采用一个人的版本,那么在冲突文件中就只会保留该人修改的代码,例如我这里就选择"使用我的版本解决冲突",那么在MainActivity中就只会保留A添加的代码

总结

### Sourcetree 使用教程 Sourcetree 是一款免费的 Git 和 Mercurial 客户端,支持 macOS 和 Windows 平台[^1]。它提供了图形化界面来简化复杂的命令行操作,使开发者可以更高效地进行版本控制。 #### 1. 下载与安装 访问 Sourcetree 的官方网站下载适合您系统的客户端并完成安装过程。安装完成后启动程序会提示登录 Atlassian 账号或者创建新账号以便同步云端仓库数据。 #### 2. 配置基础设置 首次打开应用时需配置基本环境变量如用户名邮箱等信息确保提交记录准确无误[^2]: ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ``` #### 3. 创建/克隆项目库 - **新建本地仓库**: 可通过菜单栏 `Repository -> Create Repository` 来初始化一个新的 git repository。 - **远程仓库拉取(Clone)**: 输入目标 URL 地址即可从服务器上获取已有工程副本到本地磁盘位置指定文件夹下存储。 #### 4. 日常操作指南 ##### a. 提交更改 (Commit Changes) 当修改某些源码之后想要保存这些改动至历史记录当中,则需要执行 commit 动作。选中待处理变更列表里的条目右键点击选择 stage all changes 将其标记为已暂存状态;接着填写描述性的 message 后按 Commit 按钮即成功录入当前时刻的工作成果。 ##### b. 推送更新(Push Updates) 如果希望把最近一次或多次 commits 发布出去让团队其他成员可见的话就需要做 push 操作了。只需简单双击 Push 图标按照向导指示一步步走完流程就完成了推送任务。 ##### c. 获取最新代码(Fetch/Pull Latest Code) 为了保持自己分支始终处于最新状况应该经常性 fetch/pull 别人的贡献回来合并进来形成统一的整体解决方案。Fetch 命令只是单纯下载远端变动而不会自动整合进工作区所以一般情况下建议采用 Pull 方法因为它等于 Fetch 加 Merge 两步合一更加便捷实用。 ##### d. 解决冲突(Merge Conflicts) 偶尔会出现多人编辑同一份文档造成分歧现象此时就必须手动介入调整直至消除矛盾为止再继续后续步骤比如重新 commit & push 上去共享给所有人查看学习借鉴。 #### 5. 其他高级特性概览 除了上述提到的基础功能之外 SourceTree 还具备许多强大的附加选项可供探索挖掘例如 cherry-pick、rebase、stash 等等功能模块可以帮助用户灵活应对各种复杂场景需求提升工作效率减少重复劳动时间成本支出等问题发生几率降低风险系数提高整体质量水平达到事半功倍的效果。 ```python # 示例 Python 脚本展示如何自动化部分任务 import subprocess def run_git_command(command): result = subprocess.run(['git'] + command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) return result.stdout.decode('utf-8'), result.stderr.decode('utf-8') output, error = run_git_command("status") print(output) if error: print(f"Error occurred: {error}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值