第十节-Sourcetree图形化使用git

news/2025/2/9 4:48:52 标签: git

一、Sourcetree和Git介绍

1.1 Git 简介

        Git 是一个分布式版本控制系统(Version Control System, VCS),由 Linus Torvalds 于 2005 年创建,最初是为了管理 Linux 内核开发而设计的。Git 的主要功能是跟踪文件的变更,帮助开发者在团队协作中高效管理代码。

Git 的核心特点:
        1. **分布式**:每个开发者都拥有完整的代码仓库副本,可以在本地进行版本控制,无需依赖中央服务器。
        2. **高效分支管理**:Git 的分支操作非常轻量,适合频繁创建、合并和删除分支。
        3. **数据完整性**:Git 使用 SHA-1 哈希算法确保每次提交的唯一性和数据的完整性。
        4. **强大的历史记录**:Git 可以记录每次代码变更的详细信息,包括谁、何时、为什么修改了代码。

1.2 Sourcetree 简介

        Sourcetree 是一个由 Atlassian 公司开发的免费 Git 图形化客户端工具。它为开发者提供了一个直观的界面来操作 Git,无需记忆复杂的命令行指令,特别适合初学者或不熟悉 Git 命令的用户。

Sourcetree 的核心特点:
        1. **图形化界面**:通过可视化界面展示仓库状态、分支、提交历史等信息。
        2. **简化操作**:提供按钮和菜单来执行常见的 Git 操作(如提交、推送、拉取、合并等)。
        3. **支持多种版本控制系统**:除了 Git,Sourcetree 还支持 Mercurial。
        4. **跨平台**:支持 Windows 和 macOS 操作系统。
        5. **与 Atlassian 工具集成**:与 Jira、Bitbucket 等 Atlassian 产品无缝集成。

Sourcetree 的主要功能:
        - 可视化分支和提交历史。
        - 一键创建、切换、合并分支。
        - 查看文件差异(Diff)。
        - 管理远程仓库。
        - 解决冲突(Merge Conflict)。

1.3 Git 和 Sourcetree 的关系

1. **Git 是核心工具**:
        Git 是一个命令行工具,提供了版本控制的核心功能。
        开发者可以直接使用 Git 命令行来管理代码仓库。

2. **Sourcetree 是 Git 的图形化前端**:
        Sourcetree 是对 Git 的封装,提供了更友好的用户界面。
        它本质上是通过调用 Git 命令来完成操作的,因此 Sourcetree 的功能依赖于 Git。

3. **互补关系**:
        对于熟悉 Git 命令的开发者,可以直接使用命令行工具。
        对于不熟悉命令行的开发者,Sourcetree 提供了一种更直观、易用的方式来完成 Git 操作。

4. **适用场景**:
        **Git 命令行**:适合高级用户或需要执行复杂操作的场景。
        **Sourcetree**:适合初学者或需要快速查看仓库状态、管理分支的场景。

1.4 总结

        Git 是一个强大的分布式版本控制系统,是代码管理的核心工具。
        Sourcetree 是 Git 的图形化客户端,简化了 Git 的操作,适合不熟悉命令行的用户。
        两者可以结合使用:通过 Sourcetree 进行日常操作,同时在需要时使用 Git 命令行完成更复杂的任务。

        无论是使用 Git 命令行还是 Sourcetree,最终目标都是高效地管理代码版本和团队协作。选择哪种工具取决于个人偏好和项目需求。

二、安装Sourcetree

        先进入Sourcetree官网,这里我们下载windows版本

        下载完成,我们双击安装exe,进入安装界面

        提示注册其他账号登录,可以选择忽略跳过

        提示某工具下载失败选择忽略,继续下一步

        安装完成提示是否现在常见一个ssh密钥,可以选择否以后再创建 

        因为Sourcetree安装的时候自带安装了git,如下找到git的安装位置,使用git创建密钥

找到git-bash.exe 双击运行,输入命令:

ssh-keygen -t rsa -b 4096 -C "xxxxxxxx@xxxxx.com"

其中 xxxxxxxx@xxxxx.com 建议是gitlab注册的账号邮箱,便于区分记忆,虽然可以随便写

生成密钥对如下:

接下来如下设置秘钥和仓库目录

三、使用Sourcetree拉取仓库

我们使用sourcetree拉取gitlab上面的代码仓库,首先先在gitlab上设置公钥,即复制id_rsa.pub文件里面的内容到下面的key位置

 然后复制某仓库的ssh链接,如下

将上面的ssh链接复制到如下位置,克隆项目到本地

等待克隆进度条完成后,即可看到软件界面上仓库的提交记录

点击上面的资源管理器便能找到仓库的本地保存目录

四、Sourcetree其他操作

        拉取远程其他分支,如master分支,可以先点击获取最新远程分支,点击远程,选择master,右键检出origin/master,如下操作

        拉取分支的最新分支内容,一般是先获取然后再进行拉取

        如果提交自己分支的更新,一般是先暂存,然后再点击提交,直接点击提交的时候也可以进行暂存操作

        一般都是在自己的分支开发,开发完成后review没问题再合并到dev分支,倘若和其他成员的代码有冲突,合并时会有报错

        这时候需要开发组长进行代码review,手动解决代码冲突,改好代码后,右键冲突文件改为已经解决冲突

        当然也可以使用外部合并工具解决,这里不再一一介绍。

大家也可以参考如下博客:【全网最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)...-CSDN博客


http://www.niftyadmin.cn/n/5845516.html

相关文章

微服务 day01 注册与发现 Nacos OpenFeign

目录 1.认识微服务: 单体架构: 微服务架构: 2.服务注册和发现 1.注册中心: 2.服务注册: 3.服务发现: 发现并调用服务: 方法1: 方法2: 方法3:OpenFeign OpenFeig…

快速优雅解决webview_flutter不能Safari调试的问题

这个问题,网上一搜,又是让你去检索WKWebView,找到FWFWebViewHostApi.m文件,然后再改 iOS 的代码, 加一行 self.inspectable YES; 我们开发Flutter项目,尽量还是不要去改插件里的代码,好了不费…

工厂模式+枚举类的json序列化+redisson的使用

目录 这里分享以下工厂模式反射IoC容器多态的妙用 场景引入 环境准备 代码实现 1.设置枚举类来规定有哪些学习方式 2.设置作业的实体对象 3.获取学习方式的接口 4.进行学习的动作,有出题和搜题 5.使用小猿搜题这种学习方式进行的两种学习动作学习&#xff…

音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)

文章目录 前言一、Z变换1.Z变换的作用2.Z变换公式3.Z的状态表示1&#xff09; r 1 r1 r12&#xff09; 0 < r < 1 0<r<1 0<r<13&#xff09; r > 1 r>1 r>1 4.关于Z的解释 二、收敛域1.收敛域的定义2.收敛域的表示方式3.ROC的分析1&#xff09;当 …

Tengine配置负载均衡加健康检查

Tengine是淘宝开发的nginx&#xff0c;默认就自带健康检查模块&#xff0c;不过需要手动指定编译安装 https://blog.51cto.com/tchuairen/2287789 1、下载Tengine 官网及下载地址&#xff1a;https://tengine.taobao.org/ 2、解压并安装 # yum install pcre pcre-devel open…

PHP JSON操作指南

PHP JSON操作指南 概述 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。PHP作为一门流行的服务器端脚本语言&#xff0c;支持对JSON数据进行读取、编写和解析。本文将…

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧 &#xff08;1&#xff09;基础通用公式&#xff08;适用80%场景&#xff09;&#xff08;2&#xff09;问题解决公式&#xff08;决策支持&#xff09;&#xff08;3&#xff09;创意生成公式&#xff08;4&#xff09;学习提升公…

力扣 239.滑动窗口最大值

思路 滑动窗口 遍历 解题思路 基本思路&#xff1a;使用滑动窗口法遍历数组&#xff0c;动态维护当前窗口的最大值。 特殊情况&#xff1a;该方法有一个缺陷&#xff0c;如果出窗口的元素是当前窗口的最大值max时&#xff0c;接下来的窗口中的最大值就无法确定了&#xff0c;所…