Git指令集

基础命令

命令 说明
git init <directory> 在指定目录下创建一个空的 Git 仓库。不带参数将在当前目录初始化仓库。
git clone <repo> 克隆指定仓库到本地。<repo> 可以是本地路径、HTTP 或 SSH 地址。
git config user.name <name> 为当前仓库设置用户名。使用 --global 设置全局用户名。
git add <directory> 将指定目录的所有更改加入暂存区。替换为 <file> 可添加单个文件。
git commit -m "<message>" 提交暂存区内容,并使用指定信息作为提交消息。
git status 显示哪些文件已暂存、未暂存或未跟踪。
git log 显示完整的提交历史(默认格式)。

Git diff

命令 说明
git diff 显示工作区与暂存区之间的差异。
git diff HEAD 显示工作区与上一次提交之间的差异。
git diff --cached 显示暂存区与上一次提交之间的差异。

撤销

命令 说明
git revert <commit> 创建一个新提交,撤销 <commit> 中的所有更改,并应用到当前分支。
git reset <file> <file> 从暂存区移除,但保留工作区内容不变。

Rewriting Git History

命令 说明
git commit --amend -m "<message>" 将当前暂存区更改合并到最近一次提交中(替换原提交)。
git rebase <base> 将当前分支基于 <base> 重新变基。<base> 可为提交 ID、分支名、标签或相对引用。
git reflog 显示本地仓库 HEAD 的变更日志。

分支相关

命令 说明
git branch 列出本地所有分支。
git switch -c <branch> 创建并切换到名为 <branch> 的新分支。省略 -c 则切换到已有分支。
git merge <branch> <branch> 合并到当前分支。

远程

命令 说明
git remote add <name> <url> 添加一个远程仓库连接,之后可用 <name> 代替 <url>
git fetch <remote> <branch> 从远程仓库拉取指定分支的提交。省略 <branch> 拉取所有分支。
git pull <remote> 从远程拉取当前分支并立即合并到本地。
git push <remote> <branch> 将本地 <branch> 推送到 <remote>。若远程无此分支则自动创建。

配置

命令 说明
git config --global user.name <name> 为当前用户设置全局提交用户名。
git config --global user.email <email> 为当前用户设置全局提交邮箱。
git config --global alias.<alias-name> <git-command> 创建 Git 命令别名。例如:alias.glog "log --graph --oneline"
git config --system core.editor <editor> 设置系统级文本编辑器(如 vi)。
git config --global --edit 打开并编辑当前用户的全局配置文件。

日志

命令 说明
git log -<limit> 限制显示提交数量,如 git log -5
git log --oneline 每行显示一条提交记录。
git log --author="<pattern>" 按作者筛选提交。
git log --grep="<pattern>" 按提交信息内容筛选提交。
git log <since>..<until> 显示指定范围内的提交(可为提交 ID、分支、HEAD 等)。
git log -- <file> 仅显示修改过指定文件的提交。
git log --graph 以文本图形方式显示分支结构。

Git Reset

命令 说明
git reset 清空暂存区,但保留工作区内容。
git reset --hard 清空暂存区并丢弃工作区所有未提交更改。
git reset <commit> 将当前分支回退到指定提交,清空暂存区,保留工作区。
git reset --hard <commit> 回退到指定提交,并清空暂存区和工作区(危险操作)。

Git Rebase

命令 说明
git rebase -i <base> 交互式变基当前分支到 <base>,允许编辑每个提交。

Git Pull

命令 说明
git pull --rebase <remote> 拉取远程分支并以 rebase 方式合并(而非 merge)。

Git Push

命令 说明
git push <remote> --force 强制推送(可能导致非快进合并,慎用!)。
git push <remote> --tags 推送所有本地标签到远程仓库(普通 push 不包含标签)。
相关推荐
不爱吃糖的程序媛1 分钟前
鸿蒙三方库适配读懂 `thirdparty/AES/.gitignore`:哪些文件不该进 Git?
git·elasticsearch·harmonyos
天若有情67313 小时前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
海盗123415 小时前
在群晖NAS上使用Git Server
git
y小花15 小时前
git常用指令
git
华科大胡子15 小时前
开源项目 Git 贡献全流程拆解
git
极地星光15 小时前
工程中:Git 子模块(submodule) vs 直接依赖(源码/库/包管理器)
git
无限进步_16 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
无限进步_17 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
无限进步_20 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
历程里程碑20 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github