点击关注后,你不仅获得一个找资源的工具,更获得一个有趣的灵魂 ▶ ▶ ▶
很长一段时间里,我把 Git 当成一种“不得不忍”的东西。
敲个命令。 祈祷别炸。 真炸了……就赶紧搜,越快越好。
我背命令,却不懂它们。 我从 Stack Overflow 复制“救命咒语”。 我见到冲突就心跳加速。
然后很荒谬的是——我每天都在用 Git,却一直没有真正的安全感。
后来我才明白: 大多数开发者并不会用完 Git 的所有能力。 他们只会用一小撮命令,但用得很深、很稳、很有分寸。
当我不再把 Git 当魔法,它反而变成了一把我能信任的工具。
软件工程师每天真正用的 Git 命令
你不需要 50 个命令。 你需要的是:对的 15 个,用得冷静,用得有意识。
这些命令才会在真实项目、真实团队、真实日常里反复出现。
1. git status —— 先看清你现在在哪
git status 会告诉你:哪些文件改了、哪些已暂存、哪些没跟踪、哪些准备提交。
常见翻车:不看 git status 就直接跑别的命令,于是提交错文件、删错东西,最后只能在心里骂自己。
2. git init —— 给项目“第一次装上记忆”
git init 会在目录里创建 Git 仓库,让这个项目开始被版本控制。
常见翻车:在一个已经初始化过的仓库里再 git init,导致出现嵌套的 .git,Git 直接迷路,人也跟着迷路。
3. git clone —— 把远程仓库完整拷到本地
git clone 会把远程仓库下载到你电脑上,连同提交历史一起带回来。
常见翻车:克隆完就急着 push,完全没搞懂分支结构,结果把团队节奏搅得一团乱。
4. git add —— 把修改送进“暂存区”
git add 把文件变更放进 staging area,告诉 Git:这些内容要进下一次提交。
常用变体(真的很关键)
git add .添加当前目录及子目录的变更。 ⚠️ 你如果在子目录里跑,它不会包含父目录的改动。
git add *
只加当前目录下非隐藏文件。 ⚠️ .env、.gitignore 这类会被跳过。
git add :从仓库根目录添加所有变更,包含隐藏文件。 ✅ 当你想“一次性全加”而且不想被路径坑时,这通常更稳。
常见翻车:闭眼 git add .,把不该提交的文件也一起塞进去了。
git add command meme about staging files before committing
5. git commit —— 保存一次“可回退的快照”
git commit 把暂存区内容记录成一次历史快照,并附上说明。
常见翻车:提交信息写成“update”“fix stuff”这种废话,半年后排 bug 等于让未来的自己裸奔。
6. git log —— 看清历史:谁在什么时候做了什么
git log 展示提交历史、作者、时间戳与变更信息。
常见翻车:完全不看历史,只靠猜“bug 什么时候进来的”,最后越猜越离谱。
7. git diff —— 提交前先照镜子
git diff 展示逐行差异,让你知道自己到底改了什么。
常见翻车:不看 diff 就提交,结果把无关改动、临时调试代码、甚至敏感信息一起推上去了。
8. git branch —— 并行开发的基本功
git branch 用来创建、查看、重命名、删除分支。
常见翻车:所有工作都在 main 上干,最后 main 变成“大家一起踩”的泥地。
9. git checkout / git switch —— 安全地切分支
它们都能切分支。 但 git checkout 还可以拿别的提交/分支的文件来恢复,所以更“万能”,也更容易误用。
git switch 更新、更清晰,专注“切分支”这件事。
git checkout branch-name(老牌,但仍常见)git switch branch-name(更清爽、更不容易误操作)
常见翻车:带着未提交改动切分支,弄丢工作或把改动串到别的分支上。
10. git merge —— 把两条分支历史合起来
git merge 把一个分支的变更合并到另一个分支。
常见翻车:合并前不先拉最新代码,导致冲突变多、还全是“没必要的冲突”。
11. git pull —— 更新本地:把远程变化拉下来
git pull 会从远程获取更新,并把它整合进当前分支(merge 或 rebase,取决于配置)。
常见翻车:工作区一团乱(dirty)还硬 pull,最后冲突、覆盖、崩溃一起来。
12. git push —— 把你的提交分享给团队
git push 把本地提交上传到远程仓库,让别人能看到和使用。
常见翻车:push 前忘了 pull,被拒绝后开始瞎操作,越救越乱。
13. git stash —— 把未完成工作先“塞抽屉”
git stash 暂存未提交的改动,让你回到干净工作区。
常用变体:
git stash pop:恢复最近一次 stash,并从 stash 列表移除git stash list:查看 stash 列表
常见翻车:stash 完就忘了,半年后突然发现自己藏了三个月前的“未完成灵感”。
14. git reset —— 有控制地撤回
git reset 移动当前分支指针,并可选择是否影响暂存区/工作区。
常见变体:
git reset --soft HEAD~1:撤回提交,但改动仍保持“已暂存”git reset --mixed HEAD~1(默认):撤回提交,改动变成“未暂存”git reset --hard HEAD~1:提交和改动都删掉(基本不可逆)
常见翻车:没想清楚就 --hard,等于亲手把劳动成果按进马桶冲掉。
15. git revert —— 在共享历史里“安全撤销”
git revert 会创建一个新提交,用来抵消某次提交的影响,不会重写历史。
常见翻车:在大家共用的分支上用 git reset 回滚,等于把团队历史撕了重写,让同事当场失忆。
最后
如果你现在觉得 Git 很乱,很正常。我们都经历过。
你不需要一次掌握所有。 你只要先把基础用稳,然后相信:清晰感会随着使用慢慢到来。
Git 命令不是为了完美。 它们是为了进度、历史,以及让工程师在学习和试错时不丢工作 💻
慢慢来。 允许犯错。 认真提交。