CodeGym /课程 /C# SELF /介绍 Git:为什么需要版本控制

介绍 Git:为什么需要版本控制

C# SELF
第 26 级, 课程 0
可用

1. 没有版本控制的问题:为什么直接拷贝文件是个坏主意

我们从一个现实场景开始。想象你在做一个 C# 项目。一切都很顺利,直到到了“实验”阶段。你想改点东西,但又怕把能跑的版本搞坏。怎么办?当然是拷贝项目!

结果你磁盘上会出现这样的杰作:

MyProject/
├── Main.cs
├── Main_backup.cs
├── Main_final.cs
├── Main_final2.cs
├── Main_exact_final.cs
├── Main_exact_exact_final.cs

熟悉吗?现在再想象有个同学也加入项目。他也喜欢拷贝文件——但用他自己的方式。怎么判断哪个是最新且能跑的版本?怎么知道谁改了什么?如果实验失败,怎么回退?

没有版本控制时:

  • 很容易丢失或搞混工作代码。
  • 无法“回滚”到旧的版本。
  • 多人协作变得很难。
  • 一片混乱,大家害怕做实验。

这些问题正是版本控制系统要解决的——比如 Git。

2. 开发者为什么需要 Git?

Git — 是一个强大的版本控制系统,用来在软件开发过程中跟踪源代码的变更。它允许开发者保存文件的不同版本,并且协调多人对同一项目的工作。

Git 的基本概念:

仓库

仓库(或“repo”)是保存项目全部历史的地方,包括所有文件的更改和各个版本。

提交(Commits)

commit — 是项目的一个保存状态。每个提交包含哪些改动、谁改的、什么时候改的这些信息。提交形成项目历史,可以回到任何之前的版本。

        gitGraph
        commit id: "1"
        commit id: "2"
        commit id: "3"
        commit id: "4"
        commit id: "5"
        commit id: "6"
    

每个提交是项目的“快照”,按时间顺序形成连续的变更历史。

分支

branch — 是一条独立的开发线。默认情况下 Git 会创建分支 main。你可以新建分支来开发新功能或修复 bug,完成后再合并回主分支。

        gitGraph
        commit id: "1"
        commit id: "2"
        branch develop
        commit id: "3"
        commit id: "4"
        commit id: "5"
        checkout main
        commit id: "6"
        commit id: "7"
        merge develop
        commit id: "8"
        commit id: "9"
    

从主分支 main 分出 develop 做并行开发,完成后把 develop 的改动合并回 main。

3. Git 的主要命令(底层发生的事)

下面是通过终端使用 Git 的主要命令清单。理解这些命令可以让你知道背后都发生了什么。但在课程中我们会主要采用GUI 方式,在 IntelliJ IDEA 的图形界面里完成这些操作。把这些命令当作“引擎盖下”的实现。

命令 描述
git init 在当前目录初始化一个新的 Git 仓库。
git clone 从 URL 克隆一个仓库到新目录。
git add 把文件加入暂存区,为下一次提交做准备。
git commit 把已暂存的改动提交到仓库。
git push 把本地仓库的改动推送到远程。
git pull 把远程仓库的最新改动拉取到当前分支并合并。
git branch 显示、创建或删除分支。
git merge 把指定分支的改动合并到当前分支。

这些命令是使用 Git 管理代码、分支和合并的基本工具,适用于任何规模的项目。

        sequenceDiagram
        participant 工作目录
        participant 暂存区_Staging
        participant 本地仓库
        participant 远程仓库

        工作目录 ->> 暂存区_Staging: git add
        暂存区_Staging ->> 本地仓库: git commit
        本地仓库 ->> 远程仓库: git push
        远程仓库 ->> 工作目录: git pull
    

4. 代码存放的三处位置

使用版本控制系统管理代码时,大致会把代码存放在三处:

1. 远程仓库

这是保存你代码的中心位置,通常托管在像 GitHub、GitLab 或 Bitbucket 这样的服务上。它们提供集中存储,并支持自动化集成,比如构建、测试和部署。

2. 本地仓库

本地仓库是你电脑上的代码副本。在本地你可以离线完成所有 Git 操作(提交、分支、合并)。

3. 工作目录

工作目录是你当前正在编辑的项目文件所在的位置。你在这里查看和修改文件,添加功能或修 bug。

这三部分一起构成了管理源代码的强大基础,让开发者能管理项目历史并协作。

5. GitHub — 你的作品集

GitHub — 领先的代码托管平台,基于 Git 的版本控制。自 2008 年成立以来,它迅速成为全球开发者的重要工具。

GitHub 让用户创建仓库来管理项目,跟踪代码变更并与他人协作。对现代开发者来说,在 GitHub 上有个人资料是重要的作品集,可以展示给潜在雇主看。

6. 在 GitHub 上创建你的第一个仓库

步骤 1. 访问 https://github.com 并注册账号。

步骤 2. 点击 New repository 按钮创建新仓库。

步骤 3. 为仓库设置参数:

  1. 仓库名: 想一个有意义的名字。
  2. Public 或 Private: 对于学习项目建议选 "Public",方便别人查看。
  3. Add a README file: 勾选这个选项。README 是项目的“门面”。
  4. Add .gitignore: 点击下拉并选择适合语言的模板。
  5. Choose a license: 可以跳过。
  6. 点击 Create repository。

步骤 4. 恭喜,你的第一个远程仓库创建成功!

7. Git 的安装与配置

虽然可以通过命令行学习 Git(如视频所示),但实际工作中 99% 的开发者更喜欢 IDE 里集成的图形工具。我们的目标是教你像专业人士那样工作。

JetBrains 系列的 IDE(比如用于 Java/Kotlin 的 IntelliJ IDEA、用于 C# 的 Rider 或用于 Python 的 PyCharm)里的 Git 界面几乎一致。学会在一个 IDE 里用 Git,其他 IDE 也能通用。因此我们用 IntelliJ IDEA 举例,所见即所得。

要在电脑上使用 Git,先得安装它。如果你用了 IntelliJ IDEA,当系统未检测到 Git 时,IDE 通常会提示你自动安装。建议接受这个提示——这是最快的方式。

关闭当前项目:选择 File > Close Project,然后点击 Clone Repository。

如果你想手动安装,去官网下载:https://git-scm.com/downloads。

8. 一点历史:main vs master

以前 Git 的默认分支叫 master。但在 2020 年,开发者社区和主要平台(包括 GitHub)转向了更中性的名字 — main。

这点很重要,因为在一些旧文章或项目里你可能还会看到 master。在我们的课程和现代项目里,主分支默认都用 main。

想了解更多关于切换到 main 的信息,可以看:

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION