Git 版本控制
一、什么是 Git?
Git 是一个分布式版本控制系统,用于高效地管理项目的源代码版本。它最初由 Linux 内核的开发者 Linus Torvalds 于 2005 年开发,目前已成为开源项目和企业开发中最流行的版本控制工具。
如果没有 Git,我们可能会频繁使用像 project_v1_final_final_last_reallylast.zip 这样的命名方式来保存代码版本;而有了 Git,代码的每一次变更都有清晰的记录,你甚至可以随时找到“过去”。
二、Git 的核心概念
我尝试用简单明了的话语来解释以下比较陌生且专业的名词。
1. 工作区(Working Directory)
就是日常写代码的地方。比如你打开 main.go 文件写了一段代码,但还没有保存到 Git 的历史记录里,这个时候的文件就在工作区。
2. 暂存区(Staging Area)
暂存区可以理解为你的购物篮。你可以把工作区中的修改挑选放进这个篮子里,等到觉得没问题时,再统一“结账”,也就是提交到版本库。
3. 版本库(Repository)
版本库是 Git 的核心,它保存了所有代码的历史版本。有两个版本库概念:
• 本地版本库:保存在你电脑里的代码记录
• 远程版本库:托管在服务器上的,比如 GitHub、GitLab
4. 提交(Commit)
提交可以看作是写日记。每次提交都会记录当前的代码状态和备注,让你以后可以清楚“今天干了啥”。
5. 分支(Branch)
分支是开发的平行宇宙。每个分支互不干扰,你可以在新分支大胆尝试,不怕破坏主线的代码。比如:
• master 分支:稳定的主线代码。
• feature-login 分支:开发登录功能的分支。
• fix-bug 分支:修复 Bug 的分支
三、Git 的常见场景
1. 团队协作
假设你和团队同时开发一个项目,你负责开发登录功能,另一个同学负责优化搜索算法。这时,你们会分别创建各自的分支(比如 feature-login 和 feature-search),在不同的分支上独立工作。当功能开发完成后,可以将各自的分支合并到主分支,完成项目的整合。
2. 修复 Bug
如果线上项目出现 Bug,你可以快速创建一个临时分支(比如 hotfix-bug),修复后立即合并到主分支。整个过程中,不会影响其他功能的开发进度。
3. 回退到过去
有时,你可能会发现某次提交引入了 Bug,但你已经修改了很多文件。这时,可以用 Git 的回退功能,快速切换到之前的稳定版本,避免不必要的浪费。
四、Git 的常用操作
1. 初始化一个仓库
把一个普通文件夹变成 Git 的管辖地:
git init
运行完后,当前目录下会出现一个 .git 文件夹.
2. 添加文件到暂存区
写了代码以后,把它们“放进购物篮”:
git add main.go
如果想一次性添加所有文件:
git add .
3. 提交文件
暂存好后,用 git commit 记录修改:
git commit -m "修复了一个让人头疼的 Bug"
4. 查看当前状态
随时检查代码“健康状况”:
git status
5. 查看修改内容
想看看都改了哪些地方?用:
git diff
6. 查看历史记录
每一次提交都会在日志里留下“足迹”:
git log
7. 创建和切换分支
分支的神奇之处在于它可以让你同时开发多个功能。比如,创建一个分支用来开发登录功能:
git branch feature-login
切换到这个分支:
git checkout feature-login
8. 合并分支
当功能开发完成,可以合并到主分支:
git checkout master
git merge feature-login