Git 日常开发实战命令大全

🧰 Git 日常开发实战命令大全

本文整理了 Git 在日常开发中高频使用的命令集合,覆盖从基础操作到进阶技巧的完整流程,方便留存查阅👀 ,最后附上所有指令。其中内容包括:

✅ 本地仓库管理:添加文件、提交更改、查看日志
🌿 分支管理:创建、切换、合并、删除本地及远程分支
🔁 远程仓库交互:拉取、推送、强推、更新远程信息
🔄 版本回退与恢复:reset、checkout、reflog 等操作
📦 代码暂存(Stash):临时保存未提交的改动
🏷️ 标签管理(Tag):轻量 tag 与注解 tag 的创建与推送
💡 实用技巧:别名设置、忽略文件规则、清理已合并分支等

📌 一、查看状态

功能命令
查看当前仓库状态(修改/新增文件)git status

✅ 二、添加文件到暂存区

功能命令
添加指定文件到暂存区git add filename
添加指定目录下所有内容到暂存区git add path/
添加当前目录下所有改动到暂存区git add .
添加所有改动(包括删除文件)git add --all

🔁 三、移除暂存区文件

功能命令
将文件从暂存区移出(保留工作区)git rm --cached filename

📤 四、提交更改

功能命令
提交暂存区内容到本地仓库(带简短备注)git commit -m 'commit message'

💬 提交类型规范(Conventional Commits)

类型说明
build修改构建系统(如依赖库、Node 版本)
chore非业务性代码调整(如配置、脚本等)
ci持续集成相关(如 Jenkins、Travis)
docs文档修改(如 README、API 文档)
feat新增功能
fix修复 bug
perf性能优化
refactor重构代码(不改变功能逻辑)
style样式调整(缩进、空格、分号)
test测试相关修改

📋 五、查看提交日志

功能命令
查看提交历史记录git log

🔄 六、版本回退与恢复

功能命令
回退到指定提交(丢弃之后所有更改)git reset --hard hash(前六位即可)
强推本地版本到远程仓库git push -f origin 分支名
恢复某个文件到上一次提交的状态git checkout filename

🌿 七、分支管理

功能命令
查看本地分支git branch
创建新分支git branch 分支名
创建并切换分支git checkout -b 分支名
切换已有分支git checkout 分支名
返回上一个分支git checkout -
删除本地已合并分支git branch -d [branchName]
强制删除本地分支git branch -D [branchName]
删除远程分支git push origin --delete [branchname]
创建并重命名当前分支git branch -M XXX

📥 八、远程仓库同步

功能命令
更新远程分支信息git remote update origin --prune
获取远程分支最新数据git fetch origin
推送本地分支到远程git push origin 分支名
设置默认追踪分支并推送git push -u origin 分支名
拉取远程分支更新(fetch + merge)git pull origin 分支名
拉取远程分支更新并变基git pull --rebase origin 分支名(推荐)

🔗 九、远程仓库操作

功能命令
添加远程仓库地址git remote add origin url
修改远程仓库地址git remote set-url origin 新地址
删除远程仓库配置git remote rm origin
克隆远程仓库git clone https://github.com/jxsrzj0325/mi.com.git

🔀 十、合并与冲突处理

功能命令
合并指定远程分支到当前分支git merge 远程分支名
放弃 cherry-pick 操作git cherry-pick --abort
继续 cherry-pick 操作git cherry-pick --continue
退出 cherry-pick(保留已应用的 commit)git cherry-pick --quit

📦 十一、代码暂存(Stash)

功能命令
暂存未提交的修改git stash
暂存并添加备注git stash save "备注内容"
查看 stash 列表git stash list
应用最近一次 stashgit stash apply
应用并删除最近一次 stashgit stash pop
删除最近一次 stashgit stash drop
清空所有 stash 记录git stash clear

🏷️ 十二、标签管理(Tag)

功能命令
查看所有 taggit tag -l
创建轻量 taggit tag v1.0.0
创建带注解的 taggit tag -a v1.0.0 -m "版本描述"
提交单个 tag 到远程git push origin v1.0.0
提交所有 tag 到远程git push origin --tags

🧹 十三、其他实用技巧

功能命令
设置 Git 别名(示例:图形化日志)git config --global alias.lg "log --oneline --graph --all"
删除所有已合并分支(除 main/master)`git branch --merged
强推覆盖远程分支(慎用)git push origin 分支名 --force

所有命令

# 查看状态
$ git status      # 添加管理(将文件或目录添加到本地仓库的暂存区)
$ git add filename      # 将指定的文件添加到暂存区
$ git add path/         # 将指定的目录添加到暂存区
$ git add .             # 将当前目录所有内容(文件和文件夹)添加到暂存区
$ git add --all         # 将当前目录所有内容(文件和文件夹)添加到暂存区# 将文件移出暂存区
$ git rm --cached filename   # 注意:filenamed 是笔误,应为 filename# 将暂存区的内容提交到本地仓库 (yarn lint:fix 处理 ESLint 格式)
$ git commit -m ''
# 提交类型说明:
# build: 修改项目构建系统,例如修改依赖库、外部接口或者升级 Node 版本等;
# chore: 用于对非业务性代码进行修改,例如修改构建流程或者工具配置等;
# ci:    修改持续集成流程,例如修改 Travis、Jenkins 等工作流配置; 
# docs:  修改文档,例如修改 README 文件、API 文档等; 
# style: 修改代码样式,例如调整缩进、空格、空行等;
# refactor: 重构代码,例如修改代码结构、变量名、函数名等但不改变功能逻辑;
# perf: 性能优化,例如提升性能、减少内存占用等;
# test: 修改测试用例,例如添加、删除、修改测试用例等;# 查看提交日志
$ git log# 恢复历史版本
$ git reset --hard hash     # 回退到指定提交(前六位即可)
$ git push -f origin 分支名 # 强推本地版本到远程仓库# 恢复文件
$ git checkout filename     # 恢复某个文件到上一次提交的状态# 查看分支
$ git branch# 更新远程分支
$ git fetch origin
# 或者
$ git remote update origin --prune   # 推荐,会清理无效引用# 创建分支
$ git branch 分支名# 推送/拉取到远程分支(git pull 是两个指令的组合:git fetch 和 git merge)
$ git push origin 分支名
$ git pull origin 分支名# 切换分支
$ git checkout 分支名# 返回上游分支
$ git checkout -     # 返回上一个分支# 合并远程分支 
$ git merge 远程分支名# 代码冲突后,放弃或者退出 cherry-pick 流程:# 放弃,回到操作前的样子,就像什么都没发生过
$ git cherry-pick --abort# 退出,不回到操作前的样子,即保留已经 cherry-pick 成功的 commit,并退出 cherry-pick 流程:
$ git cherry-pick --quit# 删除本地已合并的分支:
$ git branch -D [branchName] # 删除远程分支: 
$ git push origin --delete [branchname]# 添加远程仓库地址 并取名 origin
$ git remote add origin url    # 一般新建仓库就有,直接复制 HTTPSSSH 地址# 创建并切换到 XXX 分支
$ git checkout -b XXX          # 更推荐的方式
# 或者
$ git branch -M XXX            # 如果当前已有内容,重命名为 XXX 分支# 将本地仓库推送到远程仓库
$ git push -u origin 分支名    # 设置默认追踪远程分支,后续可以直接 git push# 如果返回:fatal: 远程 origin 已经存在。此时只需要将远程配置删除,重新添加即可;
$ git remote rm origin
$ git remote add origin url# 克隆远程仓库(从无到有)
$ git clone https://github.com/jxsrzj0325/mi.com.git# 从远程仓库拉取分支(更新)
$ git pull origin master# 保存当前未 commit 的代码
$ git stash# 保存当前未 commit 的代码并添加备注
$ git stash save "备注的内容"# 列出 stash 的所有记录
$ git stash list# 删除 stash 的所有记录
$ git stash clear# 应用最近一次的 stash
$ git stash apply# 应用最近一次的 stash,随后删除该记录
$ git stash pop# 删除最近的一次 stash
$ git stash drop# 查看所有 tag
$ git tag -l # 打 tag
$ git tag v1.0.0 # 提交 tag
$ git push origin v1.0.0# 推送所有 tag 到远程仓库
$ git push origin --tags# 查看远程仓库信息
$ git remote -v# 设置用户名和邮箱(如果未设置)
$ git config --global user.name "YourName"
$ git config --global user.email "your@email.com"# 设置默认编辑器(可选)
$ git config --global core.editor "code --wait"   # VS Code 示例# 配置别名(简化常用命令)
$ git config --global alias.br "branch"
$ git config --global alias.co "checkout"
$ git config --global alias.ci "commit"
$ git config --global alias.st "status"
$ git config --global alias.hist "log --oneline --graph --all"# 取消某个 commit(软撤销)
$ git reset --soft HEAD~1# 取消某个 commit(硬撤销,连带改动一并删除)
$ git reset --hard HEAD~1# 修改最后一次提交的信息
$ git commit --amend -m "新的提交信息"# 查看某次提交的详细内容
$ git show 提交hash# 查看工作区与暂存区差异
$ git diff# 查看暂存区与上次提交差异
$ git diff --cached# 查看远程分支列表
$ git branch -r# 跟踪远程分支并创建本地分支
$ git checkout -b 本地分支名 origin/远程分支名# 变基方式拉取更新(避免产生 merge commit)
$ git pull --rebase origin 分支名# 忽略某些文件(在 .gitignore 中添加规则)
# 示例:
# *.log
# /node_modules/
# .DS_Store

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90101.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣 hot100 Day37

25. K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是…

【力扣 中等 C】516. 最长回文子序列

目录 题目 解法一 题目 待添加 解法一 int max(int a, int b) {return a > b ? a : b; }int longestPalindromeSubseq(char* s) {const int len strlen(s);int dp[len];for (int i len - 1; i > 0; i--) {dp[i] 1;int leftDown;if (i 1 < len) {leftDown dp…

DAY 54 Inception网络及其思考

知识点回顾&#xff1a; 传统计算机视觉发展史&#xff1a;LeNet-->AlexNet-->VGGNet-->nceptionNet-->ResNet 之所以说传统&#xff0c;是因为现在主要是针对backbone-neck-head这样的范式做文章 inception模块和网络特征融合方法阶段性总结&#xff1a;逐元素相加…

1. 微服务架构演进:从单体到SpringCloud

想象一下,你刚刚花了一个下午在生产环境下部署一款单体应用,结果因为一个微小的配置变动,整个系统宕机,大量用户投诉蜂拥而至。运维紧急回滚,开发又要加班定位问题……这并非孤立事件,而是单体架构在规模和复杂性增长后常见的“连锁反应”。 一、单体架构:简单之始,复杂…

Charles 中文版抓包工具详解:加速 API 调试与网络问题排查

随着技术的不断发展&#xff0c;开发者面临的任务日益复杂&#xff0c;特别是在调试和优化API接口时。确保应用的网络请求在各种环境下的稳定性和高效性是提高用户体验的关键。Charles抓包工具作为一款强大的网络调试工具&#xff0c;能够帮助开发者精确捕获HTTP/HTTPS流量&…

巅峰对话:文心4.5 vs DeepSeek R1 vs 通义Qwen3.0 深度评测

国产大模型三强争霸&#xff0c;谁主沉浮&#xff1f; 2025年是中国大模型开源爆发之年——百度文心4.5系列横空出世&#xff0c;阿里通义Qwen3.0登顶开源榜首&#xff0c;而DeepSeek R1在编程领域悄然登顶。 三大技术路线齐头并进&#xff0c;却走出了截然不同的道路。 在这…

Linux运维安全新范式:基于TCPIP与SSH密钥的无密码认证实战

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 在云原生架构全面渗透企业IT体系的当下&#xff0c;…

行阶梯形矩阵和行最简形矩阵的区别

目录 0、主元 一、行阶梯形矩阵&#xff08;REF&#xff09; 特点&#xff1a; 二、行最简形矩阵&#xff08;RREF&#xff09; 特点&#xff1a; 0、主元 主元是&#xff1a;该行最左侧的非零元素​​&#xff08;即第一个不为零的元素&#xff09;。 一、行阶梯形矩阵&…

力扣 3258 统计满足 K 约束的子字符串数量 I 题解

此题不评价&#xff0c;有点意思&#xff0c;我在次以两种语言python 和c&#xff0c;用两种相反的思路写&#xff0c;注意细节不同。 原题链接3258. 统计满足 K 约束的子字符串数量 I - 力扣&#xff08;LeetCode&#xff09; 法一&#xff0c;c&#xff0c;先统计出不符合的…

创意Python爱心代码

创意Python爱心代码分享的技术文章大纲 引言 简述Python在图形绘制和创意编程中的优势介绍爱心代码在编程社区中的受欢迎程度本文涵盖的创意爱心代码示例及其技术亮点 基础爱心绘制 使用数学公式和turtle库绘制简单爱心代码示例&#xff1a; import turtle def draw_heart…

OSPF路由过滤

一、概述 OSPF对接收的路由的过滤适用于任意OSPF路由器&#xff0c;是通过对接收的路由设置过滤 策略&#xff0c;只允许通过过滤策略的路由被添加到本地设备的IP路由表中&#xff08;对进入OSPF路由表不进行过滤&#xff09;&#xff0c;这主要是为了减小本地设备的IP路由表规…

NPM组件 nodemantle002 等窃取主机敏感信息

【高危】NPM组件 nodemantle002 等窃取主机敏感信息 漏洞描述 当用户安装受影响版本的 nodemantle002 等NPM组件包时会窃取用户的主机名、用户名、工作目录、IP地址等信息并发送到攻击者可控的服务器地址。 MPS编号MPS-qrk7-ayms处置建议强烈建议修复发现时间2025-07-04投毒…

山东布谷科技RC物联网络远程遥控车项目源码开发:直播行业的新机遇

在当今数字化时代&#xff0c;直播行业发展得如火如荼&#xff0c;各类基于直播的创新项目不断涌现。从 2024 年的弹幕游戏到 2025 年的RC远控车项目&#xff0c;这些都是泛直播行业衍生出的极具潜力的流量项目玩法。其中&#xff0c;山东布谷鸟网络科技有限公司推出的RC远程遥…

2025年全国青少年信息素养大赛图形化(Scratch)编程小学低年级组初赛样题答案+解析

2025年全国青少年信息素养大赛图形化&#xff08;Scratch&#xff09;编程初赛样题答案解析 &#xff08;一&#xff09;分级/分组内容 本赛项晋级过程包括初赛&#xff08;在线预选赛&#xff09;、复赛&#xff08;地区选拔赛&#xff09;和决赛&#xff08;全国总决赛&…

SVG 绘图专家智能体prompt集锦:Claude、deepseek版本(一)

文章目录 0 SVG(可缩放矢量图形)0.1 SVG提示词通用模板0.2 小红书风格模版0.3 技术路线图0.4 甘特图0.5 数据可视化0.6 原型图 1 李继刚Claude Prompt1.1 知识卡片1.2 将真心话转化为周报1.3 三行情书1.4 将产品卖点转换为用户买点1.5 毒舌暖心师1.6 段子手1.7 输出反转笑话1.8…

CDN分发加速技术详解

CDN核心原理与架构1. 基本工作原理边缘节点缓存&#xff1a;将内容分发到离用户最近的边缘服务器DNS智能解析&#xff1a;引导用户访问最优节点内容预取与缓存&#xff1a;热点内容提前部署到边缘2. 典型CDN架构组成用户请求 → 智能DNS → 边缘节点(Edge Server)↑二级节点(Mi…

C++基础问题

C基础问题 掌握形参默认带缺省值的函数 函数调用时 #include <iostream>int sum(int a, int b 20) {return a b; }int main() {int a 10, b 20;int ret sum(a, b);cout << "ret: " << ret << endl;ret sum(a);/*a 使用默认值压栈: …

AI PPT探秘

—— 序言 ——AI时代已经深入到我们的生活、工作之中&#xff0c;AI不会淘汰所有的人&#xff0c;但会淘汰不会用AI的人&#xff0c;让AI处理执行&#xff0c;你专注决策&#xff01;—— 典型的四步AI PPT过程 ——AI PPT四步&#xff1a;内容——>排版——>美化——&g…

Gin Web 服务集成 Consul:从服务注册到服务发现实践指南(下)

在微服务架构中&#xff0c;Web 层作为系统的入口门面&#xff0c;承担着请求路由、权限校验和服务聚合等核心功能。本文将围绕 Gin 框架与 Consul 注册中心的集成展开&#xff0c;详细讲解 Web 服务如何实现服务注册与发现&#xff0c;帮助你构建可扩展的微服务前端架构。 承接…

PDF 的开发工具库: Adobe PDF Library

Adobe PDF Library 是 Adobe 公司提供的一个软件开发工具包(SDK)&#xff0c;它本质上是 Adobe Acrobat 的"无界面"版本&#xff0c;但功能更为强大。作为 PDF 处理领域的专业解决方案&#xff0c;它为开发者提供了创建、操作和管理 PDF 文档的全面能力。 #mermaid-s…