跳到正文
技术

Git 实用技巧:日常开发中的救命操作

整理一些日常开发中最常用的 Git 技巧,从撤销操作到分支管理,帮你少走弯路。

· 697 字 · 约 3 分钟阅读

Git 用久了,总会遇到一些”完了”的时刻。这篇文章整理一些日常开发中最实用的 Git 操作,帮你化险为夷。

撤销:最常见的”救命”操作

撤销最后一次提交(保留修改)

git reset --soft HEAD~1

提交信息写错了?代码还没改完不小心提交了?这个命令撤销提交但保留所有修改,让你重新来过。

撤销工作区的修改

# 撤销单个文件
git checkout -- filename.js

# 撤销所有修改
git checkout -- .

警告:这个操作不可逆。修改会永久丢失,确保你真的不需要这些改动。

暂存当前工作(切换分支时救命)

# 暂存
git stash

# 恢复
git stash pop

# 查看暂存列表
git stash list

正在写功能 A,突然要修 bug B?git stash 把当前工作藏起来,切回来再 pop 恢复。

分支:清晰的工作流

创建并切换到新分支

git checkout -b feature/new-login
# 或者用更新的语法
git switch -c feature/new-login

删除已合并的本地分支

# 删除已合并的分支
git branch --merged | grep -v "\*\|main" | xargs git branch -d

项目做久了,本地会堆积一堆已合并的分支。这条命令批量清理。

查看分支的最近提交

git log --oneline --graph --all -20

用图形化的方式看最近 20 条提交,分支关系一目了然。

日志:找到你想要的

搜索提交内容

# 搜索提交信息
git log --grep="fix login"

# 搜索代码变更
git log -S "functionName"

git log -S 是代码考古利器 — 找某个函数是什么时候被加进来的。

查看某个文件的历史

git log --follow -p -- filename.js

--follow 会追踪文件重命名,-p 显示每次的 diff。

高级但实用

交互式暂存(精确提交)

git add -p

一个文件改了多处,只想提交其中一部分?-p 让你逐块选择要暂存的修改。

修改最后一次提交

git commit --amend

提交后发现漏了文件,或者提交信息有 typo?--amend 直接修改最后一次提交。

找回误删的分支

# 查看所有操作记录
git reflog

# 恢复到某个提交
git checkout -b recovered-branch HEAD@{2}

git reflog 是最后的安全网。几乎所有”误删”都能通过它找回。

别名:少打字

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.last 'log -1 HEAD --stat'
git config --global alias.unstage 'reset HEAD --'

~/.gitconfig 里加这些,以后 git st 就够了。

写在最后

Git 的命令很多,但日常用到的其实就那几个。把上面这些练熟,90% 的场景都能从容应对。

遇到 Git 问题不要慌,先 git status 看看当前状态,再决定下一步。

又逢雨季

一个走非主流路线的大专生,在迷茫中摸索,在试错中成长。喜欢技术,喜欢记录,喜欢真实的东西。

本地摘要

提取式 · 不上传内容
又逢 雨季

留言

登录后即可留言

加载中...

document.addEventListener('astro:before-swap', () => window.__postPreviewController?.abort());