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 是配合这些托管平台使用的自动化工具。

相关推荐
qqxhb13 小时前
04|最小工程素养:文件、命令行、依赖、环境变量、Git
git·环境·依赖·工程·项目结构
国家二级编程爱好者17 小时前
删除typora文档没有引用的资源文件
git·python
Rsun0455121 小时前
Git相关面试题
git
rogerogers1 天前
在 VS Code Remote SSH 中完美配置 GPG 自动签名 (macOS 到 Ubuntu 24.04)
git·visual studio code
qiuyuyiyang1 天前
Nginx 反向代理之upstream模块以及完整配置反向代理示例
git·nginx·github
勇闯逆流河1 天前
【Linux】Linux基础开发工具(git、dbg)
linux·运维·服务器·开发语言·c++·git
Wpa.wk1 天前
IDE中配置Git常见操作
ide·经验分享·git·测试工具
谁动了我的代码?2 天前
VNC中使用QT的GDB调试,触发断点时与界面窗口交互导致整个VNC冻结
开发语言·qt·svn
NaCl鱼呜啦啦2 天前
Git 仓库损坏修复指南:从诊断到恢复
git