news 2026/4/16 7:35:49

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/4/13 11:00:58

MindSpore动态图静态图融合开发实践

一、引言MindSpore作为昇腾生态下的全场景AI框架&#xff0c;凭借其动态图&#xff08;PyNative&#xff09;与静态图&#xff08;Graph&#xff09;融合的独特优势&#xff0c;既满足了开发者在模型调试阶段对灵活性的需求&#xff0c;又能保障模型部署时的高性能。动态图模式…

作者头像 李华
网站建设 2026/4/15 16:18:05

【深度学习】YOLO实战之模型训练

YOLO 模型训练是核心执行环节&#xff0c;这一步是把前期的数据集、配置文件落地成可用模型的关键&#xff0c;我会从数据增强&#xff08;怎么让模型学得更好&#xff09;、训练流程&#xff08;一步步落地&#xff09;、监控指标&#xff08;怎么判断训练效果&#xff09; 三…

作者头像 李华
网站建设 2026/4/15 3:08:38

学霸同款9个AI论文工具,助你轻松搞定本科论文!

学霸同款9个AI论文工具&#xff0c;助你轻松搞定本科论文&#xff01; AI 工具如何帮你轻松应对论文写作的挑战 对于很多本科生来说&#xff0c;撰写一篇结构严谨、内容充实的本科论文是一项不小的挑战。从选题到资料收集&#xff0c;再到撰写和修改&#xff0c;每一个环节都可…

作者头像 李华
网站建设 2026/4/12 9:24:11

楼宇ICT规划实施标准:公区架构、基础设施与管理的稳定性保障

楼宇ICT系统是支撑楼宇智能化运维的核心基础设施&#xff0c;其规划实施标准的科学性直接决定了设施稳定性与服务可靠性。本文从公区规划架构、基础设施实施标准、管理标准三个维度&#xff0c;阐述保障楼宇ICT设施和服务稳定性的关键路径。 公区规划架构设计 公区是楼宇内人员…

作者头像 李华
网站建设 2026/4/15 9:40:09

【收藏必学】突破LLM瓶颈:AI Agent记忆系统架构设计与实践全攻略

文章深入解析了AI Agent记忆系统的架构与实现&#xff0c;包括短期记忆与长期记忆的区分及交互机制。详细介绍了主流框架的记忆系统设计、上下文工程策略及长期记忆技术组件&#xff0c;解决了LLM上下文窗口限制和成本问题。对比了开源记忆系统产品&#xff0c;展望了记忆即服务…

作者头像 李华