首页/对照列表/Git 常用命令

Git 命令备忘单

常见 Git 命令的综合备忘单,包括分支、提交、合并。

Init & Config
git init

Initialize a new Git repository

Init & Config
git clone <url>

Clone an existing repository into a new directory

Init & Config
git config --global user.name "Name"

Set the author name to be attached to your commits

Init & Config
git config --global user.email "email"

Set the author email to be attached to your commits

Changes
git status

Show the status of the repository

Changes
git add .

Add all current changes to the next commit

Changes
git commit -m "msg"

Commit the staged files with a message

Changes
git diff

Show changes between commits, commit and working tree, etc

History
git log

Show commit logs

History
git log --oneline

Show commit logs in a single line

Branches
git branch

List all local branches

Branches
git branch <branch>

Create a new branch

Branches
git checkout <branch>

Switch to a different branch

Branches
git checkout -b <branch>

Create a new branch and switch to it

Branches
git merge <branch>

Merge the specified branch's history into the current one

Remote
git remote add origin <url>

Add remote repository

Remote
git push -u origin <branch>

Push changes to remote repository

Remote
git pull

Fetch from and integrate with another repository or a local branch

Remote
git fetch

Download objects and refs from another repository

Reset
git reset --hard HEAD

Reset current HEAD to the specified state

功能简介

Git 常用命令

Git 核心指令备忘录。从基础提交到高级变基 (Rebase)、子模块管理,系统化整理所有版本控制命令,是开发者守护源码稳定性的得力看板。

如何使用

1. 按开发流程(如:解决冲突)查阅命令;2. 查阅由工程大师推荐的 Git 最佳实践;3. 直接复制代码用于您的本地仓库。

安全保障

纯教程参考。不获取您的 GitHub/GitLab 账号凭证,亦不会扫描您的本地版本库文件。

100% Client Side
📘 使用指南与技术说明

痛点引入

每次提交代码前,你是不是都要打开浏览器搜索“git如何撤销修改”?或者团队协作时,因为分支管理混乱导致代码冲突,不得不花半天时间解决?没有一份靠谱的Git命令备忘录,就像开车没有导航——容易迷路还浪费时间。这些尴尬时刻,正是我们需要Git常用命令工具的原因。

核心功能深度解析

Git的核心在于其分布式版本控制系统的设计,采用快照存储而非差异比较。每次提交都会生成一个完整的文件系统快照,通过SHA-1哈希值唯一标识。分支操作实际上是移动指针(HEAD),创建分支只需创建一个新指针,成本极低。合并操作涉及三路合并算法,比较两个分支的最近共同祖先和各自的最新提交,自动解决可处理的冲突。撤销操作则利用了Git的三棵树架构:工作目录、暂存区(索引)和版本库,通过reset、checkout、revert等命令在不同树间移动数据。

行业应用场景

联调场景:团队开发新功能时,每人创建特性分支(feature branch),使用git merge --no-ff保留分支历史,方便追踪。测试环境:测试人员通过git cherry-pick选择性部署修复补丁,避免全量发布。生产环境:采用Git Flow工作流,主分支(main)始终稳定,热修复通过hotfix分支快速上线,使用git tag标记版本号,确保可回滚。

FAQ 常见问题

  1. git resetgit checkoutgit revert有什么区别?
    reset移动HEAD指针和分支引用,可修改提交历史;checkout切换分支或恢复工作区文件,不修改历史;revert创建新提交来撤销旧提交,历史可追溯。

  2. 合并冲突时,git mergegit rebase如何选择?
    merge保留分支历史,适合公共分支;rebase重写历史使线性整洁,适合本地分支整理,但协作时需谨慎避免历史覆盖。

  3. 如何彻底删除敏感数据(如密码)的提交记录?
    使用git filter-branch或BFG工具重写历史,但需团队协作强制推送,并通知所有成员重新克隆仓库。

  4. .gitignore文件不生效怎么办?
    检查文件是否已跟踪(已提交),已跟踪文件需先git rm --cached移除,再添加规则。规则支持glob模式,注意路径写法。

  5. 如何优化大仓库的克隆和操作速度?
    使用git clone --depth 1浅克隆减少数据量,或启用git sparse-checkout部分检出,定期git gc垃圾回收压缩对象。

技术科普/延伸阅读

Git的设计基于内容寻址文件系统,其对象模型(blob、tree、commit、tag)和引用系统(分支、标签)构成了强大基础。延伸可了解Git的“未解之谜”:如复杂合并冲突的自动解决算法仍在优化中,或分布式场景下的共识问题(如Gerrit代码评审工具如何集成Git)。推荐阅读Pro Git开源书籍,或探索Git的RFC规范(如协议扩展),深入理解其网络传输和协议设计。

📖 精选技术文章推荐

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

计算机差点变成巴别塔:Unicode 发明前,我们如何处理多语言文字

在 UTF-8 统治世界之前,计算机世界曾是一片混乱的割据地。为了显示中文、日文或希腊文,开发者们发明了无数互不兼容的“代码页”。本文带你回顾那段满是乱码、冲突与妥协的编码演进史,理解 Unicode 存在的终极意义。

消失的字符:处理民族文字展示时的编码与渲染深坑

在开发文本分析工具时,我们发现 UTF-8 并不是万能药。当遇到藏文的叠加字、维吾尔文的 RTL 镜像渲染以及复杂的 Unicode 代理对时,传统的字符串处理逻辑会瞬间失效。本文记录 daima.life 在适配多元文字时的技术复盘。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发