别再「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 reset、git restore可以帮你挽回错误,但谨慎使用。
🎁 最后送你一句心法
Git 不是备份工具,是你的时间机器 + 协作引擎。
现在就开始 git init 你的每一个项目,哪怕只有你一个人。
如果你觉得这篇文章对你有帮助,请点个赞,让更多新手不再「Ctrl+C/V 备份」。
有任何问题欢迎评论区留言,我会尽力解答。