Git 简单上手指南
注:如果您的输出中出现了main与文中的master不同,其实是命名的不同,都是可以的,但是目前 Git 默认的主分支都是采用main的。Part 1 关于分布式版本控制Git 是目前最流行的版本控制工具,很多大型项目都在用它。它由 Linux 之父 Linus Torvalds 于 2005 年创建,最初是为了管理 Linux 内核这样庞大的代码库,如今已成为全球开发者协作的基础工具。那么,什么是版本控制?简单来说,版本控制就是记录文件每一次变化,方便以后查看和回溯。无论是个人项目还是团队协作,它都能帮你追踪每次改动、回到之前的任意状态。最简单的版本控制,就是给文件存多个副本,像这样:document-2026-2-15.md document-2026-2-16-1.md document-2026-2-16-2.md...但这样做问题很多:容易改错文件,想查某次具体改动也很麻烦。而专业的版本控制系统就强大得多:你可以查看任意一次修改、对比两个版本的差异,出了 bug 还能快速定位原因,甚至直接回退到之前的版本。有了它,团队协作效率会大幅提升。那集中式和分布式版本控制有什么区别呢?集中式版本控制,就是把所有版本信息都放在一台中央服务器上。开发者从服务器获取代码,改完再推回去。所有操作都依赖这台服务器。这样做的好处是管理方便,但缺点也很致命:一旦服务器宕机或数据丢失,所有人都无法协作,版本信息也可能永远找不回来。分布式版本控制则不同——不仅服务器保存版本信息,每个开发者的电脑上也保存着完整的版本历史。即使服务器出问题,开发者之间也能直接交换代码,继续工作。更棒的是,分布式版本控制不需要专门的服务器,每台电脑都可以当作一个服务器。这也让我们能实现很多集中式做不到的功能,比如多分支开发、多人并行协作。正是这种去中心化的设计,让 Git 在开源社区中广受欢迎。接下来要介绍的 Git,就是一个非常好用的分布式版本管理系统。Part 2 Git 的安装对于 Debian/Ubuntu 用户,只需在命令行执行sudo apt install git即可安装 Git。其他 Linux 发行版用户可以在 这里 查看安装方式。对于 Windows 和 Mac 用户,请前往 Git 官网 下载安装包。Git 在 Windows 下的安装过程比较繁琐,这里做些必要的说明:在选择安装路径后,会提示您选择偏好的编辑器(用于编辑 commit 信息等),这时您可以根据喜好,选择您愿意使用的编辑器。在安装过程中,您会看到一个选择默认编辑器的界面,这里列出了系统检测到的所有可用编辑器(如 Vim、Notepad++ 等),您可以根据自己的使用习惯从中选择一个作为 Git 的默认编辑器,用于后续编写 commit 信息等操作。剩下的选项,如果您对具体含义不太熟悉的话,建议按照默认选项安装。在安装结束后,您就获得了 Git Bash, Git cmd, Git GUI 三个应用。Git cmd 属于已经弃用的应用,这里不再叙述。Git GUI 是 Git 的图形化版本,支持很多较为简单的操作,适合初学者使用。但它对很多高级操作并不支持。Git bash 是 Git 的命令行模式,你可以执行所有 Git 的操作。当然,所有命令行操作你也可以在 Windows 下的 cmd 或是 Powershell 下进行,不过使用 Git bash 更为方便。接下来的内容将基于 Git 的命令行模式(也就是 Windows 下的 Git bash )展开。Part 3 配置信息在安装 Git 后,你需要先设置用户名和邮箱,这些信息将作为提交者的身份标识。$ git config --global user.name xss # 设置用户名 $ git config --global user.email qaq@qaq.com # 设置邮箱命令中的--global代表了配置对系统上的所有仓库均有效。假如只是对单个仓库的配置,只需要在你想要配置的仓库下执行去掉--global的命令即可。注意:如果用户名中间有空格,记得用引号将用户名包起来。接下来是设置文本编辑器:$ git config --global core.editor vim当然,如果你愿意,也可以采用 Emacs 等编辑器。Part 4 仓库操作基础Part 4.1 新建 Git 仓库新建一个 Git 仓库非常简单,只需在你想要建立仓库的文件夹输入如下命令:$ git initGit 将在当前文件夹新建一个.git文件夹,一个仓库就这样建好了。如果别人已经建立了一个仓库,你想要把这个仓库拷贝到自己的电脑上,采用git clone命令即可。像这样:$ git clone https://github.com/xxs/xxs这样在当前文件夹下,就会新建一个名为xxs的仓库,里面存放着原来仓库的所有信息。Part 4.2 跟踪文件在我们对仓库做出了一些修改后,我们需要将这些修改纳入版本管理当中去。使用git status命令可以查看当前仓库文件的状态。假设我们在一个空仓库中新增了一个README.md文件,执行git status命令的效果如下:$ mkdir test $ cd test $ git init # 在 test 文件夹下建立一个新仓库 $ vi README.md # 写点东西 $ git status On branch master No commits yet Untracked file

相关新闻

Pyxel编辑器工具链完全指南:打造复古像素游戏的终极创作套件

Pyxel编辑器工具链完全指南:打造复古像素游戏的终极创作套件

Pyxel编辑器工具链完全指南:打造复古像素游戏的终极创作套件 【免费下载链接】pyxel A retro game engine for Python 项目地址: https://gitcode.com/GitHub_Trending/py/pyxel Pyxel是一个专为Python设计的复古游戏引擎,其内置的编辑器工具链为…

2026/9/26 6:52:30 阅读更多 →
智能双面点焊机AI版实操:110V电源定制与电池组焊接参数调校全解析

智能双面点焊机AI版实操:110V电源定制与电池组焊接参数调校全解析

做了这么多年电池组装和焊接设备调试,我最怕听到的一句话就是“焊点看着挺圆,可轻轻一拉就掉”。点焊这个活儿,表面上就焊针一压一抬的事,实际里面电流、时间、压力、焊针状态,每一项都在决定那个熔核到底成没成形。最…

2026/9/26 6:52:30 阅读更多 →
AI养虾实战:从传感器布点到强化学习,成功率提升至95%

AI养虾实战:从传感器布点到强化学习,成功率提升至95%

1. 从"看天吃饭"到"看数据投喂":AI养虾到底在养什么养虾这行当,过去几十年靠的是老师傅的一双眼睛和一双手。水色好不好、虾子吃不吃料、塘底有没有发黑,全凭经验判断。一个塘口从投苗到出虾,中间要经历几十次…

2026/9/26 6:52:30 阅读更多 →

最新新闻

Zabbix集中式监控实战:Windows服务器TCP连接数采集与运维方案

Zabbix集中式监控实战:Windows服务器TCP连接数采集与运维方案

干运维这些年,服务器监控这事我从最早的脚本巡检一路折腾到集中式管理平台,中间踩过的坑能写满一个笔记本。今天要分享的是我刚落地的一套 V5.0 集中式监控方案。这个版本的核心思路就一句话:所有采集动作都收敛到监控服务器这一台机器上&…

2026/9/26 7:29:49 阅读更多 →
从传统ETL到全域数据平台:架构演进、实时集成与湖仓一体实践

从传统ETL到全域数据平台:架构演进、实时集成与湖仓一体实践

做了十几年数据集成,我越来越觉得ETL这个词已经装不下现代数据平台的复杂度。早年我们谈ETL,就是抽取、转换、加载,三个动词撑起一整套数仓。现在再聊数据集成架构,你得面对实时流、湖仓一体、数据血缘、数据服务化、元数据治理这…

2026/9/26 7:29:49 阅读更多 →
Java开发者首选的中间件:Redis从入门到实战全攻略

Java开发者首选的中间件:Redis从入门到实战全攻略

1. 为什么我把 Redis 列为 Java 学习者第一个必学的中间件做后端开发这几年,我带过不少实习生和转行的朋友,被问得最多的一个问题就是:“Java 基础学完了,Spring Boot 也会用了,接下来到底该学什么才能开始找工作/开始…

2026/9/26 7:29:49 阅读更多 →
分布式锁选型与避坑指南:Redis、ZooKeeper、etcd深度对比

分布式锁选型与避坑指南:Redis、ZooKeeper、etcd深度对比

1. 上篇讲了什么,这篇该重点读哪里如果你手边正同时开着 Redis、ZooKeeper 和 etcd 的文档,再对照着读这篇文章,说明你已经进入了分布式锁的正确状态。我在上篇把分布式锁最基础的东西讲透了,包括它用来解决什么问题、数据库行锁怎…

2026/9/26 7:29:49 阅读更多 →
杭电OJ刷题指南:从A+B到Accepted的完整路线与避坑技巧

杭电OJ刷题指南:从A+B到Accepted的完整路线与避坑技巧

简介:杭州电子科技大学OJ题库离线HTML快照,适合编程初学者、算法爱好者及ACM/ICPC备赛者使用。压缩包内共5743个html文件,整体大小53.36MB,每个文件以题目ID命名,对应题库中的具体题号,涵盖排序、搜索、图论…

2026/9/26 7:29:49 阅读更多 →
大厂Java面试实录:从HashMap源码到分布式锁的连环追问

大厂Java面试实录:从HashMap源码到分布式锁的连环追问

从约书日期定下来那一刻起,我的Java面试准备就进入了一种奇特的打仗状态:白天刷LeetCode,晚上啃《Java并发编程的艺术》,间隙时刻反复默写HashMap的put流程。坦白讲,大厂Java岗的面试现在已经不是“会不会八股文”的问…

2026/9/26 7:28:48 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/25 11:15:26 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →