社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

脚本之家 • 8 月前 • 344 次点击  
将 脚本之家 设为“星标⭐”

第一时间收到文章更新

图片

来源 | 大迁世界 (ID:qq449245885)

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

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

END

图片
  推荐阅读:
  1. 鹅厂门口免费装龙虾,几百人排爆了!一代人有一代人的鸡蛋要领
  2. 老外评了个“最该消失的手机设计”,看完我深深共情了。
  3. 你知道当年闪存还没普及的年代 苹果iPod是怎么解决存储问题的吗!?
  4. Wi-Fi 8真的问世了,速度来到了11.6Gbps
  5. 性价比手机,今年都没了

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