news 2026/5/20 4:17:05

Git基本操作(一):创建你的第一个“本地仓库”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git基本操作(一):创建你的第一个“本地仓库”

1. 问题场景

Git 已经装好了,现在手上有一个项目目录,里面有一堆代码文件。你想让 Git 开始管理这个项目,记录每一次修改,方便随时回溯。该怎么告诉 Git “这个目录归你管了”?这就引出了仓库git init的概念。

2. 核心概念

在动手之前,需要先理解几个关键区域,它们贯穿整个 Git 工作流。

2.1 仓库 (Repository)

也叫版本库,是 Git 进行版本控制的目录。一个仓库就是一个被 Git 管理的项目,里面包含了所有的文件、修改历史、分支等信息。在你的电脑上,仓库本质上就是一个普通的文件夹,只是多了个隐藏的.git子目录。

2.2 工作区 (Working Directory)

你直接在项目目录里看到的、正在进行编辑的文件所在区域。就是你能随意修改、新增、删除文件的那个地方。

2.3 暂存区 (Stage / Index)

它是一个临时存放区域,可以理解成“购物车”。当你完成了一部分修改,决定要把这些修改记录成一个版本时,需要先把它们“添加”到暂存区。没有放进暂存区的修改,Git 不会主动记录。

2.4 版本库 (Repository)

.git目录就是版本库本体。它是 Git 真正存放所有历史版本、分支、配置信息的地方。当你执行提交操作时,暂存区里的内容会被永久保存到版本库里,成为一个历史快照。

可以用下面这张图直观理解三者的关系:

工作区 (编辑文件) ── git add ──> 暂存区 (挑选改动) ── git commit ──> 版本库 (永久记录)

理解了这几个概念,后续的所有操作就有了清晰的框架。

3. 实战演示

3.1 初始化仓库:git init

首先,在你的电脑上找一个合适的位置,创建一个空目录,比如叫myproject,然后进入它:

$mkdirmyproject $cdmyproject

接着执行初始化命令:

$gitinit Initialized empty Git repositoryin/Users/yourname/myproject/.git/

这条命令会在myproject目录下创建一个隐藏的.git文件夹,里面包含了 Git 所需的全部骨架文件。此时这个目录就已经是一个 Git 仓库了。

查看一下隐藏文件:

$ls-a....git

⚠️注意.git目录是整个仓库的核心,千万不要手动修改或删除里面的任何内容。如果不小心破坏了这个目录,仓库就可能损坏,丢失所有历史记录。所有操作都应该通过 Git 命令来完成。

3.2 配置用户信息

在正式开始提交之前,你必须告诉 Git 你是谁。因为每一次提交都会记录提交者的姓名和邮箱,这是版本追溯的基本要素。

如果现在就直接提交,Git 会提示你设置用户信息。所以最好先一次性配好。

全局配置(推荐)

全局配置意味着这台电脑上所有的 Git 仓库都默认使用这个身份:

gitconfig--globaluser.name"Your Name"gitconfig--globaluser.email"your_email@example.com"

Your Nameyour_email@example.com替换成你自己的名字和邮箱即可。

查看配置

想确认配置是否生效,可以用:

$gitconfig-luser.name=Your Nameuser.email=your_email@example.com

这个命令会列出所有配置项,包括全局的和当前仓库的。--global选项的配置保存在用户主目录下的.gitconfig文件里,也可以直接去查看那个文件。

为特定仓库设置不同身份

如果你想在某个特定的仓库里使用不同的用户名和邮箱(比如区分个人项目和工作项目),可以进入那个仓库目录,然后执行不带--global的命令:

gitconfig user.name"Work Name"gitconfig user.email"work@company.com"

这样设置的身份只对当前仓库生效,不会影响其他仓库,优先级也高于全局配置。

撤销配置

如果不小心设错了,可以这样删除:

gitconfig--global--unsetuser.name

同样地,去掉--global就是撤销当前仓库的配置。

4. 注意事项

  • 初始化仓库的时机:一般应该在一个项目的根目录下执行git init,而不是在你的家目录或桌面随意初始化,否则整个目录都会被纳入版本控制,容易造成混乱。
  • .git目录务必保护好,不要用系统文件管理器随意浏览或修改它。
  • 用户名和邮箱只是标识,不会做真实性验证,但建议使用和远程仓库(如 GitHub、Gitee)一致的邮箱,这样提交记录才能正确关联到你的账号。

5. 要点总结

  • git init将一个普通目录变成 Git 仓库,核心就是生成了.git文件夹。
  • 工作区、暂存区、版本库是理解 Git 工作流的三个关键区域。
  • 提交前必须配置user.nameuser.email--global是全局设置,可按需覆盖。
  • 养成在项目根目录下初始化的习惯,不要到处乱建仓库。

6. 练习题

  1. 在自己的电脑上新建一个名为learning-git的文件夹,使用git init把它初始化为一个 Git 仓库。
  2. 配置全局的用户名和邮箱,然后用git config -l确认生效。
  3. learning-git仓库中,单独设置一个不同的用户名,然后用git config -l查看效果(注意观察哪些是全局的,哪些是局部的)。
  4. (思考题)如果执行了git init之后又反悔了,想把仓库变回普通目录,应该怎么做?(提示:和.git目录有关)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 4:16:12

如何实现TVA与RV的协同进化?

重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…

作者头像 李华
网站建设 2026/5/20 4:13:25

MiniMax Agent 正式更名 Mavis 上线多智能体协作

如果你用过AI助手,大概都有过这种感受:一个AI同时干太多事,要么顾此失彼,要么卡在某个环节原地转圈。 MiniMax显然也看到了这个问题。 5 月 13 日,他们正式宣布旗下Agent产品全面升级,并给它起了个新名字—…

作者头像 李华
网站建设 2026/5/20 4:13:24

别再让一条宽带拖慢整个公司!手把手教你用H3C防火墙配置双WAN口负载均衡(附HCL模拟器配置)

中小企业网络优化实战:H3C防火墙双WAN负载均衡配置指南 当视频会议频繁卡顿、文件传输速度像蜗牛爬行时,单条宽带已成为制约企业效率的瓶颈。对于50-200人规模的中小企业,双WAN负载均衡技术能以极低成本实现带宽翻倍,本文将用一台…

作者头像 李华
网站建设 2026/5/20 4:13:24

想省时间、提效率?SOLIDWORKS 库特征值得每一位工程师试试

工程师每天埋首设计,却总在重复绘制钻孔、肋板、凸台等相同特征,反复建模耗时又易出错,效率迟迟提不上来——而SOLIDWORKS库特征,正是为解决这一痛点而生的高效工具,帮工程师摆脱重复内耗,快速提升设计效率…

作者头像 李华
网站建设 2026/5/20 4:13:21

恶劣环境专用|不锈钢防水门禁开关深度测评

在智能建筑与安防系统日益普及的今天,一个小小的门禁开关往往决定着整体使用体验与安全系数。尤其是安装在室外环境时,防水、耐老化、电气稳定性成为三大核心痛点。近日,中优(ZUU)推出的ZU-KBM86F不锈钢防水门禁开关&a…

作者头像 李华