别再「Ctrl+C/V」了!Git 开发必备技能,10 分钟告别单机码农

别再「Ctrl+C/V」了!Git 开发必备技能,10 分钟告别单机码农

你的项目还在靠复制文件夹来备份吗?你的代码还在用"最终版_v3_真的最终版.doc"来命名吗?

是时候学 Git 了。这篇文章不是命令大全,而是一个让你理解原理、记住操作、立刻用起来的入门指南。


1. 你的「项目目录」有什么痛点?

刚开始学编程时,我们都在本地目录里写代码:

text

复制代码
workspace/
  └── my_project/
      ├── index.html
      ├── style.css
      └── script.js

看起来没问题,但一旦遇到这几种情况,你就想哭:

  • 无法多人协作:你想改 A 文件,同事也想改 A 文件,你们只能靠聊天软件传来传去。
  • 硬盘坏了 / 代码丢了:没有备份,几个月白干。
  • 想找回之前的版本:改了一天发现还是昨天的版本好,但你只能「撤销撤销撤销...」。
  • 代码混乱 :没有工程化的管理,全靠手动复制文件夹 项目_备份1项目_备份2_final

这些问题,Git 全都能解决。


2. 先明白两个核心概念:分布式 + 版本快照

2.1 中央仓库 vs 分布式

以前很多工具(比如 SVN)是中央仓库 模式:

有一台服务器存着所有代码,每个人从上面下载,改完再上传。
缺点:服务器挂了,所有人都没法提交代码。

Git 是分布式的

  • 每个人机器上都有一个完整的仓库(包括所有历史版本)。
  • 你可以离线提交、查看历史,等有网了再同步。
  • 常见的远程仓库有:GitHub、Gitee、GitLab。

通俗版:

中央仓库 = 只有一个总文件柜,大家都要去那里翻资料。

分布式 = 每个人家里都有一个一模一样的文件柜,随时可以翻,还可以互相抄作业。

2.2 版本 = 快照

Git 每次提交(commit)都是给你的所有文件拍一张快照

不是只记录改了哪里,而是完整记录那一刻所有文件的状态。

所以你随时可以回到任何一个历史快照,就像时间旅行。


3. 从零开始:把普通目录变成 Git 仓库

git init

bash

bash 复制代码
cd 你的项目目录
git init

执行后,你的目录就升级成了 Git 仓库 (Repository)。

它会生成一个隐藏文件夹 .git,你的所有版本信息都存这里。

⚠️ 不要乱动 .git 里面的文件,一切操作都通过 Git 命令完成。

小坑提醒

Windows 用户建议在项目目录下打开 Git Bash (一个最小 Linux 环境),这样命令和教程完全一致。

如果直接用 Windows 自带的 cmd,某些命令行为可能不同。

你可以用 ls -all 查看隐藏的 .git 目录:

bash

sql 复制代码
ls -all
drwxr-xr-x 1 user  staff  512  ...  .git/

4. 第一次「存盘」:add + commit

4.1 创建一个 README.md

bash

bash 复制代码
echo "# 我的第一个 Git 项目" > README.md

现在这个文件是未跟踪(untracked) 状态,Git 还不认识它。

4.2 git add -- 放到「暂存区」

bash

csharp 复制代码
git add README.md

add 命令把文件加入暂存区(stage)

暂存区就像购物车:你先把想买的东西放进去,最后一次性结账。

4.3 git commit -- 正式存为版本

bash

sql 复制代码
git commit -m "初始化项目,添加 README"

-m 后面是本次提交的说明,一定要认真写 ,同事和未来的你会感谢你。

提交成功后,Git 就为当前所有文件拍了一张快照。


5. 为什么要分两步?暂存区的好处

初学者常问:为什么不直接 commit?多此一举!

想象一下:你正在开发一个「首页功能」,改动了三个文件:

text

diff 复制代码
index.html
common.css
common.js

你希望这三个文件一起作为一个版本提交 ,而不是分别提交。

如果你改完一个就 commit 一次,会导致仓库里出现很多琐碎的中间版本,不好管理。

暂存区的流程

bash

sql 复制代码
git add index.html
git add common.css
git add common.js
git commit -m "完成首页页面功能"

而且,如果你在 add 之后又想改某个文件,可以继续改,再 add 一次更新暂存区。

如果突然后悔了,可以用 git reset 把文件移出暂存区。

一句话:暂存区给了你「后悔」和「批量提交」的自由。


6. 随时查看状态:git status

Git 最常用的命令没有之一。

bash

lua 复制代码
git status

它会告诉你:

  • 哪些文件是未跟踪(untracked)
  • 哪些文件被修改但还没加入暂存区
  • 哪些文件已经在暂存区,等待提交

养成习惯:任何 Git 操作之前,先 git status 看一眼,能避免 90% 的踩坑。


7. 文件的生命周期(一张图看懂)

text

scss 复制代码
Untracked      →    Staged      →    Committed
(未跟踪)            (暂存区)           (已提交)
   │                  ↑                  │
   └── add ──────────┘                  │
                    │                    │
                    └── commit ─────────┘
  • Untracked:新文件,Git 没见过。
  • Staged :已经 add,但还没 commit
  • Committed :已经 commit,安全保存到仓库。

当你 commit 之后,仓库就是干净的(clean),git status 会显示 "nothing to commit, working tree clean"。


8. 最后一步:连接到远程仓库(GitHub)

你还没 add 远程仓库(add a repo)

bash

csharp 复制代码
# 先在 GitHub 上新建一个空仓库,然后复制它的地址
git remote add origin https://github.com/你的用户名/你的仓库名.git
git push -u origin main

这样你的代码就推到了云端,别人可以拉取(git pull),多人协作正式开始。


9. 总结:你刚学会的 Git 核心操作

命令 作用
git init 初始化本地仓库
git add 文件名 把文件加入暂存区
git commit -m "说明" 提交暂存区内容,生成一个版本
git status 查看当前状态
git remote add origin <url> 关联远程仓库
git push 推送到远程

10. 进阶建议(让你看起来像老手)

  • 提交信息规范feat: 添加登录功能fix: 修复图片上传 bug。推荐 Conventional Commits。
  • 分支(branch) :不要一直用 main 分支开发,学会 git checkout -b feature/xxx
  • 撤销git resetgit restore 可以帮你挽回错误,但谨慎使用。

🎁 最后送你一句心法

Git 不是备份工具,是你的时间机器 + 协作引擎。

现在就开始 git init 你的每一个项目,哪怕只有你一个人。

如果你觉得这篇文章对你有帮助,请点个赞,让更多新手不再「Ctrl+C/V 备份」。

有任何问题欢迎评论区留言,我会尽力解答。

相关推荐
xuankuxiaoyao4 小时前
vue.js 设计与开发 ---路由
前端·javascript·vue.js
ZC跨境爬虫4 小时前
跟着 MDN 学CSS day_6:(伪类和伪元素详解)
前端·javascript·css·数据库·ui·html
idcu4 小时前
Lyt.js + Vite 快速开发指南
前端·typescript
暗不需求4 小时前
玩转 React Hooks:从基础到实战,逐行解析带你彻底掌握
前端·react.js·面试
一颗小青松4 小时前
css 文字区域根据图片形状显示,根据文字设置背景图
前端·css
阿黎梨梨4 小时前
跟 Git 打交道的正确姿势
前端
idcu4 小时前
深入 Lyt.js 路由系统:L6 生态系统层的核心
前端·typescript
idcu4 小时前
用 Lyt.js 构建 Todo 应用:完整教程
前端·typescript
码农翻身4 小时前
GitHub,2008年生,2048年卒
github