git、svn;TortoiseGit、TortoiseSVN;gitlab、github、bitbucket、bamboo有什么关系?

一、

我们可以把这几个东西分成三类来理解:版本控制系统GUI客户端代码托管平台/CI工具。这样它们的关系就很清晰了。

1. 核心:版本控制系统

这是最底层的技术,负责记录和管理代码的每一次变更。主要有两个流派:

  • Git(分布式): 目前最主流的版本控制系统。它的特点是每个人电脑上都有一个完整的代码仓库,可以在离线状态下提交、查看历史,联网后再推送到远程服务器。

  • SVN(集中式): 较早的版本控制系统。它的代码仓库集中存放在一台中央服务器上,想要提交、查看历史等大部分操作都必须联网。

简单来说,Git是现在的行业标准,SVN则是还在使用的老牌系统。

2. 工具:图形化客户端

Git和SVN原本都是命令行工具。为了让操作更直观、不用背命令,有人开发了图形界面软件来封装底层的命令行指令。

  • TortoiseGit: 专门为 Git 服务的图形客户端。

  • TortoiseSVN: 专门为 SVN 服务的图形客户端。

它们的关系: 就像是为底层系统(Git/SVN)套上了一个外壳,让你可以用鼠标点选来完成操作。

3. 平台:代码托管与持续集成

当多人协作时,需要一个公共的远程服务器来存放代码,这就是代码托管平台。一些平台还提供了自动化功能。

  • GitHub: 全球最大的Git代码托管平台,也是开源社区的中心。

  • GitLab: 也是一个Git仓库托管平台,特点是提供"一站式"服务,自带强大的CI/CD(持续集成/持续部署)功能。

  • Bitbucket: 主要面向企业用户,可以托管GitMercurial (另一种版本控制)仓库,并且和Atlassian系列工具(如Jira、Bamboo)深度集成。

  • Bamboo: 它是一个持续集成和持续部署(CI/CD)服务器,本身不托管代码,而是从Git仓库(比如放在Bitbucket、GitHub或GitLab上的)拉取代码,然后自动完成构建、测试、部署等工作。

关系总结

为了方便理解,可以用几个场景串联一下:

  1. 开发者的电脑上: 开发者用 TortoiseGit 在本地操作底层的 Git 来管理代码。

  2. 代码托管: 为了团队协作,开发者会把本地 Git 仓库的代码推送到远程,比如 GitHubGitLab 上。

  3. 自动化流程: 当代码推送到远程后,Bamboo (或者 GitLab CI)会自动检测到变化,然后从仓库拉取最新代码,执行自动化测试和部署。

所以,总结一下它们之间的对应关系就是:

  • TortoiseSVN 服务于 SVN

  • TortoiseGit 服务于 Git

  • GitGitHubGitLabBitbucket 等托管平台的核心。

  • Bamboo 是配合这些托管平台使用的自动化工具。

相关推荐
eastyuxiao13 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
bu_shuo15 小时前
git练习学习网站【中文网站】
git·学习
秃秃然然16 小时前
Git指北
git
适应规律20 小时前
Git笔记
笔记·git
csdn_aspnet20 小时前
Git二分法精准定位Bug,分享用git bisect快速锁定引入缺陷的提交,提升调试效率
git·bug·二分查找
可问春风_ren1 天前
HTML零基础进阶教程:解锁表单、多媒体与语义化实战
前端·git·html·ecmascript·reactjs·js
Joy T1 天前
【Web3】深度解析 NFT 跨链智能合约开发:原生资产与衍生包装合约架构实战
git·架构·web3·区块链·node·智能合约·hardhat
谢斯1 天前
【git】当项目中存在已经提交的忽略内容应该如何剔除掉
git
笑鸿的学习笔记1 天前
git笔记之git commit --amend三种常用写法的简洁区别对比
笔记·git
xingzhemengyou11 天前
Git版本控制系统详解
git