Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别

Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别

  • (二)Git(分布式版本控制系统):
  • (二)SVN(集中式版本控制系统)
  • (三)TortoiseGit
    • 一、下载安装 git
    • 二、安装过程
    • 三、git安装后的设置
    • 四、TortoiseGit安装配置过程
    • 五、安装完之后对tortoise进行配置
    • 六、如何利用TortoiseGit从Github上下载代码
    • 七、创建本地版本库
    • 八、Commit,Push,Pull/提交、推送、拉取文件

(二)Git(分布式版本控制系统):

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库.

经典的git开发过程:
在这里插入图片描述

Git的优缺点
对程序源代码进行差异化的版本管理,代码库占极少的空间。易于代码的分支化管理。不支持中文,图形界面支持差,使用难度大。不易推广。

Git的功能特性
从一般开发者的角度来看,git有以下功能:

  • 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

  • 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

  • 3、在单机上自己创建的分支上提交代码。

  • 4、在单机上合并分支。

  • 5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

  • 6、生成补丁(patch),把补丁发送给主开发者。

  • 7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

  • 8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

(二)SVN(集中式版本控制系统)

SVN是Subversion的简称,是一个开放源代码的版本控制系统,支持大多数常见的操作系统。

作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。
这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。

Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。

集中式管理的工作流程如下图:
在这里插入图片描述
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。

SVN 的优缺点
SVN对中文支持好,操作简单,使用没有难度,美工人员,产品人员,测试人员,实施人员都可轻松上手。使用界面统一,功能完善,操作方便。

SVN的特点概括

  • 1.每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;

  • 2.获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;

  • 3.提交必须有网络连接(非本地版本库);

  • 4.提交需要授权,如果没有写权限,提交会失败;

  • 5.提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;

  • 6冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

(三)TortoiseGit

Git 作为一个复杂的版本控制系统,命令很多,即使经常使用,有些命令也记不住。下面要借助一个图形化的软件 —— TortoiseGit 来操作 git

一、下载安装 git

下载地址:https://git-scm.com/downloads

二、安装过程

1.下载完成后,双击下载好的软件开始安装,出现如下对话框

2.点击Next,默认选项和图中不一样,建议按照图中修改,Git Bash Here和Git GUI Here可以方便的在任意目录下打开git,建议选中,选中这两项后Additional icons->On the Desktop就按照自己心情了。

这一步根据自己需要设置后,不爱折腾的小伙伴下面的步骤可以直接采用默认选项,当然也可以详细研究选择最适合自己的。

3.点击next,选择默认编辑器,我选择的是Notepad++。

4.继续next,配置PATH环境。

Use Git from Git Bash only:这是最安全的选择,因为你的PATH根本不会被修改,你只能使用Git Bash的Git命令行工具。
Use Git from the Windows Command Prompt:这个选项被认为是安全的,它只向PATH添加一些最小的Git包,以避免使用可选的Unix工具混淆环境。你将能够从Git Bash和Windows命令提示符中使用Git。建议选择此项。
Use Git and optional Unix tools from the Windows Command Prompt:Git和可选的Unix工具都将添加到计算机的PATH中。警告:这将覆盖Windows工具,如“find”和“sort”,只有在了解其含义后才使用此选项。

5.继续next,以下选项均为默认


6.点击Inall开始安装,安装完成后点击Finish即可。

7.进行测试

在开始菜单里点击“Git GUI"、“Git Bash”,弹出类似命令行的窗口,就说明Git安装成功!
在任意目录下右击,可以看到右键菜单中有Git GUI Here和Git Bash Here两个选项。

【在git bash 中输入git --version查看git版本看是否安装成功。】

git --version

如果中文没有正常显示,请求鼠标右击选择“option"选项,更换语言即可。

三、git安装后的设置

(1)如果是自己去GitHub下载代码单独使用,需要申请账号,看这个步骤,

如果是下面情况,第三步骤请跳过。

(2)如果只是项目组“推送”和拉取“”代码,就不需要注册了,让项目管理员开放权限给账号就行。


1、安装完成后需要设置自己的git账号和邮箱,否则无法正确使用,但是到目前为止还没有申请git账号,下面就来说一下具体的账号申请和git设置过程。点击账号申请网址 ,出现如下界面。

2、输入自己想要的账户名,自己的邮箱和密码,账户名只能包含字母和数字字符或者是单个连字符“-”并且连字符不可以作为开头或者结尾;密码中至少包含一个字母,一个数字,并且长度不小于7个字符。输入完成后后点击“Sign up for Github”,进入如下界面,同时注册用的邮箱中会收到一封GitHub的邮件。

3、通过验证后点击“Create an account”

【如果不需要保密,选择默认的免费选项即可,如果需要保密则需要付费。
点击Continue,出现无关紧要的答题,选选就好,之后Submit,搞定。】

【因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。账号申请完成后,打开命令行或者Git Bash,输入】

其中Your Name和email@example.com替换成上面注册时的账户名和邮箱。

git config --global user.name “Your Name”

之后回车,再输入

git config --global user.email email@example.com

【命令行下输入和Git Bash下输入均可。】

命令行下输入如图:

Git Bash下输入如图:

到这一步,Git的安装设置就基本结束了,可以在本机正常使用了

四、TortoiseGit安装配置过程

TortoiseGit-Git客户端与32/64位最新版及对应的语言包

下载地址:https://tortoisegit.org/download/

【上面是对应系统64位版本,下面是简体中文语言包,点击直接下载】

安装的方法,依照上述顺序安装,一直下一步就行。

【点next】

【点next】

【点next】

【点next】

【点next】选择安装位置

【点install】

【等待安装】

【点 finish】

【手速放慢】

【这一步选择语言是暂停一下,这一页不要动,双击安装下载的中文语言包】

【双击安装语言包】

【点下一步】

【点完成】

【回到之前选择语言的位置,点击【Refresh】】

【选择中文,再下一步】

【点下一页】

【选择之前git安装的位置】

【填写git注册信息,之后下一页】

【点击完成】

五、安装完之后对tortoise进行配置

1). 首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:\test , 然后在资源管理器中打开

2). 在空白处点击鼠标右键,可以看到右键菜单中多了几个选项。选择 --> TortoiseGit --> Settings, 然后就可以看到配置界面,如下图所示:

3) 选中General,,Language中选择中文.。不勾选自动升级的复选框,可能还需要指定 Git.exe 文件的路径,如

    "D:\\DevlopPrograms\\Git\\bin"。完成后,点击应用,确定关闭对话框

4)再次点击鼠标右键,可以看到弹出菜单中已经变成中文.。原来的 Settings 变成 设置,Clone 变为 克隆。

5)配置右键菜单.。在设置对话框中,点选左边的"Context Menu",设置常用的右键菜单。楼主比较常用的是如下选项:

如上:配置完成.

六、如何利用TortoiseGit从Github上下载代码

将git上博客源文件克隆到本地,在本地创建好要存放资源的文件夹,之后在此文件内右键单击,可以看到下拉菜单中增加了TortoiseGit的三个选项,选择Git Clone。

输入Url,自动创建本地目录,也可以手动选择

注:递归需要勾上

确定以后就会Clone本地仓库了

七、创建本地版本库

新建一个项目目录StudyGit, 在代码目录右键选择创建版本库

【弹出提示,不要勾选纯版本库,直接确定】

【目录下生成一个.git的目录,这个目录里面记录的是git操作相关内容,不要动。创建一个新的Code目录。】

【至此,采购版本库建立完成了。后面续继操作。】

八、Commit,Push,Pull/提交、推送、拉取文件

1)当修改完一段代码后,需要把代码提交到版本库中

在上述目录中右击:

【第一次操作的时候会提示需要输入身份(邮箱)】

【点击,是】

【点击提交即可。】

【提交完成以后弹出如下提示】

【可以选择推送(如果已经编译通过),也可以先关闭不Push,点了推送】

【如果是第一次会出现身份认证的对话框:】

【点击管理:】

【复制你的github中的URL到上述URL中,点击添加、保存即可。】

【再点击确定】

【在提交的过程中填入用户名和密码即可】

【结果如下:即成功。】

【到远程仓库查看是否提交成功,如果远程仓库的内容和本地仓库内容一致,则说明Push成功了。】

接下来:

【当工作组里面的其它人写了一段代码,你需要获取时,就需要用到Pull操作。】

参考文章
【1】SVN和Git 介绍,区别,优缺点以及适用范围
https://blog.csdn.net/weixin_45151960/article/details/104720654
【2】Git及Tortoisegit下载安装及使用详细配置过程
https://blog.csdn.net/qq_39715000/article/details/119009507

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat调优总结

Tomcat自身的调优是针对conf/server.xml中的几个参数的调优设置。首先是对这几个参数的含义要有深刻而清楚的理解。以tomcat8.5为例,讲解参数。 同时也得认识到一点,tomcat调优也受制于linux内核。linux内核对tcp连接也有几个参数可以调优。 因此可以将…

scala实现通过Spark统计人均登录次数最终写入MySQL

谨以此博客作为记录 小编这里用的版本是&#xff1a; <hadoop.version>2.7.7</hadoop.version> <spark.version>2.4.5</spark.version> <scala.version>2.12.10</scala.version> 如果没用到Hadoop可以忽略 步骤 准备数据&#xff0c;知道…

C++面向对象程序设计 - 访问对象中成员的3种方法

在C程序中访问对象的成员变量和成员函数&#xff0c;有三种方法&#xff1a; 通过对象名和成员运算符访问对象中的成员&#xff1b;通过指向对象的指针访问对象中的成员&#xff1b;通过对象的引用变量访问对象中的成员 在了解访问对象中成员的3种方法前&#xff0c;先了解下C…

网络安全之IP地址证书的重要性

在数字化时代&#xff0c;网络空间已成为各类活动的重要载体&#xff0c;无论是商业交易、信息交流还是远程办公&#xff0c;都离不开互联网的支撑。然而&#xff0c;网络环境的开放性与匿名性也带来了安全风险&#xff0c;如何确保网络交互中的身份真实可信&#xff0c;成为了…

【御控物联】JSON结构数据转换在物联业务中应用(场景案例二)

文章目录 一、物联网业务场景现状二、物联网业务场景数据交互格式三、JSON格式数据转换案例四、JSON数据格式转换DEMO五、在线转换工具六、技术资料 一、物联网业务场景现状 目前&#xff0c;市场上多数物联网关与物联平台捆绑售卖&#xff0c;网关采集到设备数据只能按照指定…

Excel·VBA二维数组组合函数之穷举推理题

看到一个帖子《CSDN-求助一道推理题》&#xff0c;与之前《python穷举暴力破解《2018年刑侦推理题》用python穷举的推理题很类似 那么是否可以使用《ExcelVBA二维数组组合函数、组合求和》combin_arr2d函数&#xff0c;生成结果进行穷举呢&#xff1f; Sub 穷举推理题()Dim …

修改Gradio界面中按钮Submit、Clear,Flag为中文,修改additional_inputs标签。

展示如图 Submit、Clear、additional_inputs标签 Submit、Clear修改 修改gradio库中interface.py additional_inputs标签 同一文件下 flag修改 flag展示

壁纸小程序Vue3(自定义头部组件)

1.自定义头部 coustom-nav <view class"layout"><view class"navbar"><view class"statusBar"></view><view class"titleBar"><view class"title">标题</view><view class&qu…

卷积神经网络(CNN)的数学原理解析

文章目录 前言 1、介绍 2、数字图像的数据结构 3、卷积 4、Valid 和 Same 卷积 5、步幅卷积 6、过渡到三维 7、卷积层 8、连接剪枝和参数共享 9、卷积反向传播 10、池化层 11、池化层反向传播 前言 本篇主要分享卷积神经网络&#xff08;CNN&#xff09;的数学原理解析&#xf…

深入了解 Vue 3 中的 Transition 过渡动画

在本文中&#xff0c;我们将深入探讨 Vue 3 中实现 Transition 过渡动画的技术细节。过渡动画可以为用户界面增添平滑和生动的效果&#xff0c;提升用户体验。 首先新建一个基于uni-app框架为transition.vue的测试文件&#xff0c;在其中编写如下JavaScript、HTML和CSS代码&…

问题2-前端json数组数据转换成csv文件

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>将 JSON 数据导出为 CSV 文件</title> …

局域网与城域网(练习题)

局域网与城域网 ⭐️⭐️⭐️⭐️ 红色标记为答案⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 蓝色标记为要点解析⭐️⭐️⭐️ 1.以下关于VLAN标记的说法中&#xff0c;错误的是&#xff08;&#xff09;。 A.交换机根据目标地址和VLAN标记进行转发决策 B.进入目的网段时&#xff0c;交换机…

【Oracle篇】expdp/impdp高效完成全部生产用户的全库迁移(第四篇,总共四篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣️❣️…

VTK 简介

VTK 简介 VTK 简介什么是 VTK&#xff1f;VTK 能做什么&#xff1f;VTK 的基本组成VTK 的框架结构VTK 的数据结构VTK 的可视化流程参考 VTK 简介 什么是 VTK&#xff1f; VTK&#xff0c;全称是Visualization Toolkit&#xff0c;即可视化工具包。是一个开源、跨平台、可自由…

vue+element ui实现表单组件的封装

效果图&#xff1a; 主要是使用vue elmentUi 的from的基础上进行封装 使用改组件&#xff0c;是需要自定义从父组件传入一下字段表单字段 export const topicTypeMainTaskEdit: any new Map([// 主任务可编辑状态[feasibleInstructions, // 督办件[{value: documentNum…

云计算面临的威胁

目录 一、概述 二、威胁建模分析 2.1 威胁建模的概念 2.2 威胁建模起到的作用 2.3 威胁建模的流程 2.3.1 威胁建模流程图 2.3.2 威胁建模流程内容 2.3.2.1 绘制数据流图 2.3.2.2 威胁识别与分析 2.3.2.2.1 STRIDE威胁分析方法论 2.3.2.3 制定消减措施 2.3.2.3.1 消减…

景联文科技提供高质量医疗健康AI大模型数据

医疗行业是典型的知识和技术密集型行业&#xff0c;其发展水平直接关系到国民健康和生命质量。 医疗健康AI大模型&#xff0c;作为人工智能的一个分支&#xff0c;能够通过学习大量的数据来生成新的数据实例&#xff0c;在医药研发、医学影像、医疗文本分析等都有广泛的应用前景…

项目管理计划

《项目管理计划》 1.项目背景说明 2.项目目标和范围 3.项目组织架构 4.项目进度管理办法 5.项目沟通管理 6.项目风险管理 软件开发全套资料包获取进主页或文末个人名片直接获取。

Flutter Web 的未来,Wasm Native 即将到来

早在去年 Google I/O 发布 Flutter 3.10 的时候就提到过&#xff0c; Flutter Web 的未来会是 Wasm Native &#xff0c;当时 Flutter 团队就表示&#xff0c;Flutter Web 的定位不是设计为通用 Web 的框架&#xff0c;类似的 Web 框架现在有很多&#xff0c;而 Flutter 的定位…

containerd配置HTTP私仓

文章目录 1. &#x1f6e0;️ 基础环境配置2. &#x1f433; Docker安装3. &#x1f6a2; 部署Harbor&#xff0c;HTTP访问4. &#x1f4e6; 部署ContainerD5. &#x1f504; 修改docker配置文件&#xff0c;向harbor中推入镜像6. 配置containerd6.1. 拉取镜像验证6.2. 推送镜像…