news 2026/6/10 13:10:23

Git指令大全(常见版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git指令大全(常见版)

按Git核心使用场景分类整理常用命令,涵盖基础配置、仓库操作、分支管理、远程协作、撤销回退等场景,附带命令作用及实用说明,适用于日常开发查阅与新手入门。

一、基础配置命令

二、仓库基础操作命令

三、分支管理命令

四、远程仓库协作命令

五、撤销与回退命令

六、临时保存(Stash)命令

七、标签管理命令

八、其他实用命令

九、常用技巧与注意事项

一、基础配置命令

首次使用Git需配置用户信息,用于提交记录标识,支持全局配置与局部配置(仅当前仓库生效)。

命令

作用说明

git config --global user.name "Your Name"

全局配置用户名,替换"Your Name"为实际名称

git config --global user.email "your.email@example.com"

全局配置用户邮箱,替换为实际邮箱

git config user.name "Your Name"

局部配置(当前仓库)用户名,需在仓库目录执行

git config --list

查看所有Git配置信息,包含全局与局部配置

git config user.name

查看当前生效的用户名配置

git config --global pull.rebase true

全局设置git pull默认使用rebase模式,保持提交历史线性

二、仓库基础操作命令

涵盖仓库初始化、文件状态查看、暂存区操作、提交记录查看等核心基础功能。

命令

作用说明

git init

在当前目录初始化Git仓库,生成隐藏的.git文件夹

git clone <repository-url>

克隆远程仓库到本地,<repository-url>为远程仓库地址(HTTPS/SSH)

git clone <repository-url> <directory-name>

克隆远程仓库并指定本地目录名,<directory-name>为自定义目录

git status

查看当前工作区与暂存区状态,显示修改、新增、删除的文件

git status -s

简洁模式显示状态,仅用符号标识文件状态(如M表示修改)

git add <file-name>

将指定文件添加到暂存区,<file-name>为文件名(含路径)

git add .

添加当前目录所有变更文件到暂存区,不含.gitignore忽略的文件

git add -A

添加所有变更文件到暂存区,包含删除的文件和未跟踪文件

git add -u

仅添加已跟踪文件的修改和删除到暂存区,不含新创建的未跟踪文件

git commit -m "commit-message"

将暂存区文件提交到本地仓库,"commit-message"为提交说明(需清晰描述变更)

git commit -am "commit-message"

自动添加已跟踪文件到暂存区并提交,不含新创建的未跟踪文件

git commit --amend

修改最后一次提交记录,可修改提交说明或补充未提交的暂存文件

git log

查看本地仓库提交历史,按时间倒序显示(最新提交在前)

git log --oneline

简洁模式显示提交历史,每条记录仅占一行(含提交ID前7位和说明)

git log --graph

图形化显示提交历史,清晰展示分支合并关系

git log --author="name"

按作者筛选提交历史,替换"name"为目标作者名称

三、分支管理命令

分支是Git核心功能,支持并行开发、功能隔离与版本控制,以下为常用分支操作命令。

命令

作用说明

git branch

查看本地分支列表,当前所在分支前标注"*"

git branch -a

查看所有分支(本地+远程),远程分支以"remotes/origin/"前缀显示

git branch <branch-name>

创建新分支,<branch-name>为分支名称,不切换到新分支

git checkout <branch-name>

切换到指定本地分支,<branch-name>为分支名称

git checkout -b <branch-name>

创建并切换到新分支,等价于git branch + git checkout

git switch <branch-name>

Git 2.23+版本推荐使用,语义化切换分支,替代git checkout

git switch -c <branch-name>

创建并切换到新分支,替代git checkout -b(新语法)

git merge <branch-name>

将指定分支合并到当前所在分支,<branch-name>为待合并分支

git branch -d <branch-name>

删除指定本地分支,仅能删除已合并到当前分支的分支

git branch -D <branch-name>

强制删除指定本地分支,无论分支是否合并(谨慎使用)

git branch -m <old-name> <new-name>

重命名本地分支,<old-name>为旧分支名,<new-name>为新名称

git push origin --delete <branch-name>

删除远程仓库指定分支,需具备对应权限

git rebase <target-branch>

将当前分支变基到目标分支,使提交历史更线性(替代merge)

git rebase --continue

解决变基冲突后,继续执行变基操作

git rebase --abort

放弃变基操作,恢复到变基前的状态

git rebase -i HEAD~n

交互式变基,整理最近n次提交(如n=3即整理最近3次),可合并、修改提交说明

四、远程仓库协作命令

用于与远程仓库(如GitHub、GitLab)同步数据,涵盖远程连接管理、推送、拉取等操作。

命令

作用说明

git remote -v

查看本地仓库关联的远程仓库地址,显示fetch(拉取)和push(推送)地址

git remote add <remote-name> <remote-url>

添加远程仓库关联,<remote-name>通常为"origin"(默认名),<remote-url>为远程地址

git remote remove <remote-name>

删除与指定远程仓库的关联

git fetch <remote-name>

从远程仓库获取最新数据(不自动合并到本地分支),存储在本地远程跟踪分支

git pull

等价于git fetch + git merge,从远程仓库拉取数据并自动合并到当前分支

git pull --rebase

拉取远程数据并以rebase模式合并,避免产生合并提交记录

git push <remote-name> <branch-name>

将本地分支推送到远程仓库,如git push origin main(推送到origin的main分支)

git push -u <remote-name> <branch-name>

首次推送分支并设置上游跟踪关系,后续可直接使用git push/pull,无需指定分支

git push --force-with-lease

安全强制推送(推荐),仅在远程分支与本地跟踪分支一致时推送,避免覆盖他人提交

git cherry-pick <commit-id>

将指定提交(<commit-id>为提交ID)复制到当前分支,适用于跨分支复用提交

五、撤销与回退命令

用于撤销工作区修改、暂存区操作及版本回退,区分reset(修改历史)与revert(新增反向提交)两种方式。

命令

作用说明

git checkout -- <file-name>

撤销工作区对指定文件的修改,恢复到最近一次提交或暂存区状态(未暂存的修改会丢失)

git restore <file-name>

Git 2.23+版本新增,替代git checkout -- <file>,撤销工作区文件修改

git reset HEAD <file-name>

将指定文件从暂存区移回工作区,撤销git add操作

git reset --soft <commit-id>

回退到指定提交,保留工作区和暂存区所有改动,仅移动HEAD指针

git reset --mixed <commit-id>

默认模式,回退到指定提交,重置暂存区(与目标提交一致),保留工作区改动

git reset --hard <commit-id>

强制回退到指定提交,重置暂存区和工作区(与目标提交一致),未提交的改动全部丢失(谨慎使用)

git revert <commit-id>

生成一个新提交,反向抵消指定提交的内容,不修改历史提交记录(适合公共分支)

git revert <commit1-id>..<commit2-id>

批量撤销多个提交(范围:commit1到commit2,含两端),逐一生成反向提交

六、临时保存(Stash)命令

用于临时保存未提交的修改(工作区+暂存区),清理工作区以切换分支、拉取代码等,后续可恢复修改。

命令

作用说明

git stash

临时保存当前修改,恢复工作区到最近一次提交状态

git stash save "备注信息"

保存修改并添加备注,方便后续识别(如git stash save "开发中用户登录模块")

git stash -u

保存修改时包含未跟踪文件(新创建未git add的文件)

git stash list

查看所有临时保存的记录,按栈结构排列(stash@{0}为最近一次)

git stash apply

恢复最近一次stash的修改,保留stash记录

git stash apply stash@{n}

恢复指定序号的stash修改,n为stash列表中的序号(如stash@{1})

git stash pop

恢复最近一次stash的修改,并删除该stash记录(推荐使用,避免堆积)

git stash drop stash@{n}

删除指定序号的stash记录,不恢复修改

git stash clear

清空所有stash记录,谨慎使用

git stash branch <branch-name>

从stash创建新分支,自动应用该stash修改并删除记录

七、标签管理命令

用于给重要提交打标签(如版本发布节点),方便快速定位和切换到指定版本。

命令

作用说明

git tag

查看本地所有标签,按字母顺序排列

git tag <tag-name>

给当前最新提交打轻量标签,<tag-name>为标签名称(如v1.0.0)

git tag -a <tag-name> -m "标签说明"

创建带注释的标签,-m后为标签说明(推荐使用,包含更多信息)

git tag -d <tag-name>

删除本地指定标签

git push <remote-name> <tag-name>

将本地指定标签推送到远程仓库

git push <remote-name> --tags

将本地所有标签推送到远程仓库

git push <remote-name> :refs/tags/<tag-name>

删除远程仓库指定标签

git checkout <tag-name>

切换到指定标签对应的版本(处于游离HEAD状态,需创建分支避免修改丢失)

八、其他实用命令

涵盖代码对比、文件清理、信息查看等辅助功能,提升开发效率。

命令

作用说明

git diff

查看工作区与暂存区文件的差异(未暂存的修改)

git diff --staged

查看暂存区与最近一次提交的文件差异(已暂存未提交的修改)

git diff <commit1-id> <commit2-id>

查看两次提交之间的文件差异

git blame <file-name>

查看文件每行代码的提交记录(包含作者、提交时间、提交ID),定位代码修改人

git rm <file-name>

从工作区和暂存区删除指定文件,同时删除本地文件

git rm --cached <file-name>

仅从暂存区删除指定文件,保留本地文件(适用于误添加.gitignore文件)

git clean -f

删除本地未跟踪的文件(谨慎使用,无法恢复)

git clean -fd

删除本地未跟踪的文件和目录(谨慎使用)

git show <commit-id>

查看某次提交的详细信息(包含提交说明、文件修改内容)

九、常用技巧与注意事项

  • 提交说明规范:建议采用"类型: 描述"格式(如feat: 新增用户登录功能、fix: 修复首页加载卡顿问题),便于历史追溯。

  • 远程分支同步:多人协作时,推送代码前建议先执行git pull --rebase,避免合并冲突。

  • reset --hard风险:该命令会丢失未提交的修改,执行前可先用git stash保存重要改动。

  • 公共分支操作:公共分支(如main、develop)禁止使用git reset、git push --force修改历史,建议用git revert撤销变更。

  • SSH密钥配置:关联远程仓库时,使用SSH地址需配置SSH密钥,避免每次推送/拉取输入账号密码。

  • ssh密钥配置参考https://blog.csdn.net/yonghuid123453/article/details/146937976?spm=1001.2014.3001.5502https://blog.csdn.net/yonghuid123453/article/details/146937976?spm=1001.2014.3001.5502

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:29:01

paperzz 开题报告 + 6 款 AI 工具:研究生开题不用再改 5 版的秘密

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 开题报告的 “改稿循环”&#xff0c;是很多研究生的噩梦&#xff1a;写了 3 版文本被批 “逻辑散”&#xff0c;做了 2 版 PPT 被说 “没重点”&…

作者头像 李华
网站建设 2026/5/29 9:40:30

Node.js用fs.rm快速删除文件

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Node.js fs.rm&#xff1a;高效删除文件的深度实践与避坑指南 目录 Node.js fs.rm&#xff1a;高效删除文件的深度实践与避坑指南…

作者头像 李华
网站建设 2026/6/10 11:54:10

基于博弈与需求响应模型的光伏用户群电能共享方法探索

matlab代码&#xff1a;基于博弈与需求响应模型的光伏用户群的电能共享方法 摘要&#xff1a;为了使光伏用户群内各经济主体能实现有序的电能交易&#xff0c;提出了一种基于光伏电能供需比&#xff08;&#xff33;&#xff24;&#xff32;&#xff09;的内部价格模型。 在考…

作者头像 李华
网站建设 2026/5/29 13:05:05

大模型yyds!Sunway打造“智监慧审“专家智能体,用Python实现智能监管,小白也能秒懂!

AI大模型正重新定义检验检测监管的“游戏规则”——从被动响应到主动预防&#xff0c;从经验驱动到数据穿透。未来&#xff0c;“智监慧审”不仅是技术升级&#xff0c;更是行业信任体系的重构。唯有让每一份报告经得起“数字阳光”的检验&#xff0c;质量才能真正成为市场的通…

作者头像 李华
网站建设 2026/6/3 6:23:17

基于Z-Image-Turbo的高效图像生成方案:8步推理实现真实感输出

基于Z-Image-Turbo的高效图像生成方案&#xff1a;8步推理实现真实感输出 在电商海报秒级生成、短视频创作者实时出图的今天&#xff0c;AI 图像生成早已不再是“能画出来就行”的玩具技术。真正的挑战在于——如何在消费级显卡上&#xff0c;用不到一杯咖啡的时间&#xff0c;…

作者头像 李华