news 2026/4/26 19:43:50

git 常见命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
git 常见命令

Git 是分布式版本控制系统,以下是按日常开发流程分类的常用命令,涵盖从初始化、代码提交到协作开发的核心场景,附关键说明:

一、基础配置(首次安装必做)

# 配置全局用户名(关联提交记录)gitconfig --global user.name"Your Name"# 配置全局邮箱(与Git账号/仓库邮箱一致)gitconfig --global user.email"your.email@example.com"# 查看配置信息gitconfig --list# 重置配置(如需修改)gitconfig --global --unset user.name

二、仓库初始化/克隆

# 本地新建仓库(初始化.git目录)gitinit# 克隆远程仓库到本地(HTTPS方式)gitclone https://github.com/用户名/仓库名.git# 克隆远程仓库并指定本地目录名gitclone https://github.com/用户名/仓库名.git 自定义目录名# SSH方式克隆(需配置SSH密钥,免密码)gitclone git@github.com:用户名/仓库名.git

三、工作区/暂存区操作(日常开发高频)

# 查看文件状态(红:未追踪/修改;绿:已暂存)gitstatus# 简化状态输出gitstatus -s# 将指定文件添加到暂存区gitadd文件名/目录名# 添加所有修改/新增文件到暂存区gitadd.# 添加所有跟踪文件的修改(不含新增未追踪文件)gitadd-u# 撤销工作区修改(恢复到最近一次提交/暂存状态)gitcheckout -- 文件名# 撤销暂存区文件(回到工作区)gitreset HEAD 文件名# 删除文件并同步到暂存区gitrm文件名# 仅删除暂存区记录,保留本地文件gitrm--cached 文件名# 重命名文件并同步到暂存区gitmv旧文件名 新文件名

四、提交代码(版本记录)

# 提交暂存区文件到本地仓库,必须写提交信息gitcommit -m"feat: 新增用户登录功能"# 提交时自动将已跟踪的修改文件加入暂存区(跳过git add)gitcommit -am"fix: 修复登录密码加密问题"# 修改最近一次提交(仅未推送到远程时用)gitcommit --amend# 合并多次提交(交互式,需编辑提交记录)gitrebase -i HEAD~3# 合并最近3次提交

五、分支操作(核心协作能力)

# 查看所有分支(*表示当前分支)gitbranch# 查看远程分支gitbranch -r# 查看所有分支(含远程)gitbranch -a# 创建新分支gitbranch 分支名# 创建并切换到新分支gitcheckout -b 分支名# (Git 2.23+推荐)创建并切换分支gitswitch -c 分支名# 切换到已有分支gitcheckout 分支名# (Git 2.23+推荐)切换分支gitswitch 分支名# 删除本地分支(需先切换到其他分支)gitbranch -d 分支名# 强制删除未合并的本地分支gitbranch -D 分支名# 删除远程分支gitpush origin --delete 分支名# 或简写gitpush origin :分支名# 重命名本地分支gitbranch -m 旧分支名 新分支名

六、远程仓库操作(协作同步)

# 查看已关联的远程仓库gitremote -v# 添加远程仓库(命名为origin,默认别名)gitremoteaddorigin https://github.com/用户名/仓库名.git# 修改远程仓库地址gitremote set-url origin 新地址# 拉取远程仓库最新代码(合并到当前分支)gitpull# 拉取指定远程分支到本地指定分支gitpull origin 远程分支名:本地分支名# 推送本地分支到远程仓库gitpush origin 本地分支名# 首次推送时关联远程分支(后续可直接git push)gitpush -u origin 本地分支名# 拉取远程所有分支信息(不合并)gitfetch

七、合并/变基(分支整合)

# 切换到主分支,合并功能分支gitcheckout maingitmerge 功能分支名# 变基(将当前分支提交“移植”到目标分支顶部,更整洁)gitcheckout 功能分支名gitrebase main# 解决合并/变基冲突后,继续操作gitadd冲突文件gitrebase --continue# 变基冲突# 或gitmerge --continue# 合并冲突# 放弃合并/变基gitmerge --abortgitrebase --abort

八、版本回退(纠错必备)

# 查看提交历史(含哈希值、作者、信息)gitlog# 简化日志输出gitlog --oneline# 查看所有操作记录(包括回退、删除分支)gitreflog# 回退到指定版本(保留工作区修改,仅撤销提交)gitreset --soft 提交哈希值# 回退到指定版本(撤销提交+暂存区,保留工作区)gitreset --mixed 提交哈希值# 默认模式# 强制回退到指定版本(清空工作区/暂存区,谨慎使用)gitreset --hard 提交哈希值# 恢复已删除的提交(结合git reflog找哈希值)gitreset --hard 提交哈希值# 撤销某次提交(生成反向提交,保留历史,推荐)gitrevert 提交哈希值

九、暂存工作区(临时切换分支)

# 暂存当前工作区未提交的修改gitstash# 暂存并添加备注gitstash save"修复登录bug的临时修改"# 查看所有暂存记录gitstash list# 恢复最近一次暂存(保留暂存记录)gitstash apply# 恢复指定暂存(git stash list查看序号)gitstash apply stash@{0}# 恢复并删除暂存记录gitstash pop# 删除指定暂存gitstash drop stash@{0}# 删除所有暂存gitstashclear

十、标签(版本发布)

# 创建轻量标签(仅标记,无备注)gittag v1.0.0# 创建附注标签(含详细信息,推荐)gittag -a v1.0.0 -m"发布v1.0.0版本,支持用户登录"# 查看所有标签gittag# 推送指定标签到远程gitpush origin v1.0.0# 推送所有标签到远程gitpush origin --tags# 删除本地标签gittag -d v1.0.0# 删除远程标签gitpush origin --delete v1.0.0

核心原则&注意事项

  1. 未推送到远程的修改:可大胆用git reset/git rebase调整;
  2. 已推送到远程的修改:优先用git revert而非git reset --hard,避免破坏协作历史;
  3. 冲突解决:冲突文件中<<<<<<< HEAD是当前分支内容,=======分隔,>>>>>>> 分支名是合并分支内容,手动编辑后保存再提交;
  4. SSH免密:克隆/推送用SSH地址需先配置SSH密钥(本地生成公钥,添加到Git平台账号)。

以上是90%日常开发场景的核心命令,可根据实际需求组合使用。

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

Hadoop大数据平台在中国AI时代的后续发展趋势研究

P&#xff08;类Cloudera CDP 7.3 404版华为Kunpeng版&#xff09; 摘要随着人工智能&#xff08;AI&#xff09;技术的迅猛发展和国家“数字中国”战略的深入推进&#xff0c;中国大数据产业正经历从规模扩张向智能驱动的深刻转型。作为大数据基础设施的核心组成部分&#xff…

作者头像 李华
网站建设 2026/4/26 10:34:45

从同步耦合到异步解耦:消息中间件如何重塑系统间的通信范式?

当成百上千的服务需要相互协作时&#xff0c;它们之间的通信模式变得至关重要。如果服务间采用紧密耦合的同步调用&#xff0c;一个服务的延迟或故障&#xff0c;就可能引发连锁反应&#xff0c;导致系统性的“雪崩”。消息中间件正是为了打破这种刚性依赖而生。它在服务之间建…

作者头像 李华
网站建设 2026/4/23 0:14:58

打卡信奥刷题(2534)用C++实现信奥 P2039 [AHOI2009] 跳棋

P2039 [AHOI2009] 跳棋 题目描述 在一个 111 行 NNN 列&#xff08;NNN 是奇数&#xff09;的棋盘上&#xff0c;有 KKK 个格子是红色的。这种情况下&#xff0c;你有一个跳棋在最左端的格子上。你的目标是将它移动到最右边的格子&#xff0c;在开始移动之间&#xff0c;你可以…

作者头像 李华
网站建设 2026/4/19 13:00:26

微服务链路追踪环境搭建终极指南:Docker一键部署全栈方案

微服务链路追踪环境搭建终极指南&#xff1a;Docker一键部署全栈方案 【免费下载链接】opentelemetry-collector OpenTelemetry Collector 项目地址: https://gitcode.com/GitHub_Trending/op/opentelemetry-collector 还在为分布式系统中的调用链追踪头疼吗&#xff1f…

作者头像 李华
网站建设 2026/4/24 4:15:23

Feather图标库完整使用指南:从入门到精通

Feather图标库完整使用指南&#xff1a;从入门到精通 【免费下载链接】feather 项目地址: https://gitcode.com/gh_mirrors/fea/feather 在开发现代Web应用时&#xff0c;图标的使用无处不在。你是否曾经遇到过这样的困扰&#xff1a;项目中的图标风格不统一、图标文件…

作者头像 李华
网站建设 2026/4/23 1:12:16

改善深层神经网络 第二周:优化算法(一)Mini-batch 梯度下降

1. Mini-batch 梯度下降法其实我们早就在使用这个方法了&#xff0c;现在来系统的阐述一下。如果你有些遗忘了梯度下降法本身的概念&#xff0c;可以回看之前的笔记&#xff1a;梯度下降法而发展出的随机梯度&#xff0c;Mini-batch 梯度&#xff0c;batch 梯度只是一次迭代中使…

作者头像 李华