Py学习  »  Git

每位软件工程师都会用到的 15 个 Git 命令

码小辫 • 1 月前 • 78 次点击  

码小辫 丝认证

点击关注后,你不仅获得一个找资源的工具,更获得一个有趣的灵魂  ▶  ▶  ▶


很长一段时间里,我把 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:保存改动并清空工作区
  • 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 命令不是为了完美。 它们是为了进度、历史,以及让工程师在学习和试错时不丢工作 💻

慢慢来。 允许犯错。 认真提交。


高质量原创回顾


下午面试了一堆985、211的研究生只是一个月薪6500的基础岗位,结果最后却要了一个普通二本生,找工作太疯狂了。


如果你最近刚安装的 OpenClaw 像弱智,一招瞬间让他从傻子变“超人”


外包同事参加聚餐,刚到包间门口,就听主管说:都自己人,以后有啥脏活累活都给外包,他们本就是服务咱的,不要不好意思


一线城市的笼子终于卖掉了,手握1000万现金,不伺候了,回五线城市做个不大不小的生意,房价低,成本低,太滋润了!


听说互联网不卡35岁了?


程序员为保饭碗,开始“防御性编程”.....


“死了么”APP开发者被原公司劝离职,祸兮福所倚……

图片


别忘了点分享、收藏、在看、点赞哦!


图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/193757