用Go类比Git

18 阅读2分钟

一、普及Git知识

1. Git

核心工具:Git是最底层的 “版本控制引擎”,负责本地代码的版本管理(比如记录修改、创建分支、合并代码等),本身是一套命令行程序,不依赖任何平台。

2. Git Bash

操作工具:Git Bash是 Windows 上运行 Git 命令的 “命令行窗口”,因为 Git 原生更适配 Linux 命令,Git Bash 模拟了类似 Linux 的命令环境,方便在 Windows 里用命令操作 Git。

3. Github Desktop

图形工具:GitHub Desktop是简化 Git 操作的 “图形界面软件”,通过点鼠标就能完成提交、推送等操作,底层还是调用 Git 的功能,适合新手或不想记命令的人

4. GitHub 网站

远程平台:GitHub 网站版是在线的 “代码托管平台”,可以把本地用 Git 管理的代码传到上面,方便多人协作、备份代码,还能在上面看项目、提问题等。

5. 总结

  • 联系: GitHub Desktop 和 Git Bash 都是操作 Git 的工具(前者图形化,后者命令行); GitHub Desktop 会自动安装 Git 和 Git Bash; 最终通过 Git(或它的操作工具)把代码推送到 GitHub 网站版上,实现本地和远程的同步。
  • 区别: Git 是核心引擎,其他都是围绕它的工具或平台; Git Bash 和 GitHub Desktop 是操作 Git 的不同方式(命令行 vs 图形); GitHub 网站版是远程平台,和前三者的本质区别是:它是在线的,用于代码托管和协作,而前三者都是本地工具。

二、类比Go

  • Git ≈ Go 语言本身(核心):

    Git 是版本控制的 “核心引擎”,就像 Go 是编程语言的 “核心语法和运行机制”,是一切操作的基础,必须有它才能干活。

  • Git Bash ≈ Windows 的命令提示符(cmd)或 PowerShell(终端):

    都是 “命令行交互工具”,Git Bash 让你用命令操作 Git,就像终端让你用命令运行 Go 程序(比如 go run)。

  • GitHub Desktop ≈ GoLand(IDE):

    都是 “图形化工具”,简化操作。GitHub Desktop 用界面点选代替 Git 命令,就像 GoLand 用按钮代替 go build 等命令,更直观。

  • GitHub 网站版 ≈ 代码托管平台(比如 Go 项目的 GitHub 仓库本身):

    都是 “远程存储和协作平台”,GitHub 存 Git 管理的代码,就像远程平台存 Go 项目代码,方便共享和多人协作。