Git 开发常用命令速查手册

文章目录

  • git命令
    • 开发最常用的核心命令
      • 一、基础配置(首次使用必做)
      • 二、仓库初始化和克隆
        • 1. 本地新建仓库
        • 2. 克隆远程仓库
      • 三、工作区或暂存区操作
        • 1. 查看状态(最常用!随时确认文件变更)
        • 2. 添加文件到暂存区(提交前必需步骤)
        • 3. 提交暂存区到本地仓库
        • 4. 撤销操作(救急必备)
      • 四、分支操作
        • 1. 查看分支
        • 2. 创建与切换分支
        • 3. 合并分支(功能开发完成后合并到主分支)
        • 4. 删除分支
      • 五、远程仓库协作
        • 1. 关联远程仓库(本地仓库首次关联远程)
        • 2. 拉取远程代码(同步远程最新修改到本地)
        • 3. 推送本地代码到远程仓库
        • 4. 其他远程操作

git命令

开发最常用的核心命令

一、基础配置(首次使用必做)

# 1. 配置用户名和邮箱(关联远程仓库如 GitHub/GitLab 必需)gitconfig --global user.name"你的用户名"gitconfig --global user.email"你的邮箱"# 2. 查看配置信息(验证是否配置成功)gitconfig --list# 3. 配置默认编辑器(如 VS Code,可选)gitconfig --global core.editor"code --wait"

二、仓库初始化和克隆

1. 本地新建仓库
# 在当前目录初始化 Git 仓库(生成 .git 隐藏文件夹)gitinit# 新建目录并初始化仓库(推荐,避免污染当前目录)gitinit 仓库名
2. 克隆远程仓库
# 克隆远程仓库到本地(默认目录名=仓库名)gitclone 远程仓库地址(HTTPS/SSH)# 克隆到指定本地目录gitclone 远程仓库地址 本地目录名

三、工作区或暂存区操作

1. 查看状态(最常用!随时确认文件变更)
gitstatus# 详细状态(哪些文件修改/未跟踪/待提交)gitstatus -s# 简洁状态(A=新增,M=修改,D=删除,??=未跟踪)
2. 添加文件到暂存区(提交前必需步骤)
# 添加单个文件gitadd文件名# 添加多个文件(空格分隔)gitadd文件1 文件2# 添加当前目录所有变更(包括修改/新增,不包含删除)gitadd.# 添加所有变更(包括修改/新增/删除,等同于 git add -A)gitadd-u
3. 提交暂存区到本地仓库
# 基本提交(必须写提交信息,描述本次修改内容)gitcommit -m"提交说明:如修复登录bug/新增用户列表功能"# 提交时自动添加所有已跟踪文件的修改(跳过 git add,仅适用于修改/删除,不包含新增文件)gitcommit -am"提交说明"# 补充提交(修改上一次提交,避免多一条无用提交记录)gitcommit --amend# 会打开编辑器修改上次提交信息gitcommit --amend -m"新的提交说明"# 直接修改,不打开编辑器
4. 撤销操作(救急必备)
# 1. 撤销工作区修改(未 add 的文件,恢复到上次 commit 状态)gitcheckout -- 文件名# 注意:-- 避免文件名与分支名冲突# 2. 撤销暂存区修改(已 add 但未 commit,恢复到工作区)gitreset HEAD 文件名# 单个文件gitreset HEAD.# 所有文件# 3. 查看提交日志(找需要回滚的版本号)gitlog# 详细日志(包含版本号、作者、时间、提交说明)gitlog --oneline# 简洁日志(仅显示版本号前7位+提交说明)# 4. 回滚到指定版本(本地仓库回滚,谨慎使用!)gitreset --hard 版本号# 彻底回滚(工作区+暂存区+本地仓库同步到该版本)

四、分支操作

1. 查看分支
gitbranch# 查看本地所有分支(当前分支前带 *)gitbranch -r# 查看远程所有分支gitbranch -a# 查看本地+远程所有分支
2. 创建与切换分支
# 新建分支(基于当前分支)gitbranch 分支名# 新建并切换到该分支(最常用)gitcheckout -b 分支名# 等同于:git branch 分支名 + git checkout 分支名# Git 2.23+ 新增切换命令(更直观)gitswitch 分支名# 切换已有分支gitswitch -c 分支名# 新建并切换分支
3. 合并分支(功能开发完成后合并到主分支)
# 1. 先切换到目标分支(如合并到 main 分支)gitcheckout main# 或 git switch main# 2. 合并源分支(如 feature/login 分支)到当前分支gitmerge 源分支名# 3. 解决冲突(若合并时提示 conflict)# 步骤:① 打开冲突文件,找到 <<<<<<< HEAD 到 >>>>>>> 源分支名 之间的内容# ② 编辑保留需要的代码,删除冲突标记(<<<<<<<, =======, >>>>>>>)# ③ 重新 add + commit 完成合并gitadd冲突文件名gitcommit -m"解决合并冲突:保留xxx功能"
4. 删除分支
# 删除本地已合并的分支(安全删除)gitbranch -d 分支名# 强制删除本地未合并的分支(未开发完的分支,谨慎使用)gitbranch -D 分支名# 删除远程分支(协作后清理远程无用分支)gitpush origin -d 远程分支名

五、远程仓库协作

1. 关联远程仓库(本地仓库首次关联远程)
# 查看已关联的远程仓库gitremote -v# 关联远程仓库(origin 是远程仓库的默认别名,可自定义)gitremoteaddorigin 远程仓库地址(HTTPS/SSH)
2. 拉取远程代码(同步远程最新修改到本地)
# 拉取远程默认分支(如 main)的代码,自动合并到当前分支gitpull# 等同于:git fetch + git merge# 拉取指定远程分支到本地指定分支gitpull origin 远程分支名:本地分支名# 强制拉取远程代码(覆盖本地未提交的修改,谨慎使用!)gitpull origin 分支名 --force
3. 推送本地代码到远程仓库
# 首次推送本地分支到远程(需指定上游分支,绑定本地与远程分支)gitpush -u origin 本地分支名# 绑定后,后续可直接 git push# 非首次推送(已绑定上游分支)gitpush# 推送本地分支到远程指定分支(自定义远程分支名)gitpush origin 本地分支名:远程分支名# 强制推送(覆盖远程分支,多人协作时禁止使用!仅个人分支临时救急)gitpush origin 分支名 --force-with-lease# 比 --force 安全,避免覆盖他人代码
4. 其他远程操作
# 拉取远程分支信息(不合并代码,仅更新本地远程分支列表)gitfetch# 查看远程仓库详细信息gitremote show origin# 解除本地与远程仓库的关联gitremote remove origin

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

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

相关文章

洛雪音乐助手

链接&#xff1a;https://pan.quark.cn/s/8d7999ad6a7a洛雪音乐助手电脑版是一个基于 electron 的音乐下载软件&#xff0c;海量超高品质无损音乐&#xff0c;集结千万用户打造歌单发源地还不快来下载使用。

Ⅰ、Ⅱ、Ⅲ型裂纹应力

Ⅰ、Ⅱ、Ⅲ型裂纹应力及坐标变换公式对比表类型 极坐标应力公式 直角坐标应力公式 坐标变换公式Ⅰ型 $ \begin{cases} \sigma_{rr} = \frac{K_I}{\sqrt{2\pi r}}\cos\frac{\theta}{2}\left(1+\sin^2\…

MySQL 慢查询定位与 SQL 性能优化实战指南

文章目录如何定位并解决慢查询&#xff1f;1. 开启/检查慢日志2. 分析日志3. 用explain分析执行计划SQL优化&#xff1f;一、基础优化1. 避免select *2. 使用合适的where条件3. 合理使用索引4. 避免全表扫描二、JOIN优化&#xff08;多表查询&#xff09;1. 大表驱动小表2. 确保…

arXiv 2025|RGB-Th-Bench:第一个专注于可见光–热成像理解的密集型视觉语言模型基准

一、论文信息 论文标题&#xff1a;RGB-Th-Bench: A Dense Benchmark for Visual-Thermal Understanding of Vision-Language Models 作者&#xff1a;Mehdi Moshtaghi, Siavash H. Khajavi, Joni Pajarinen 机构&#xff1a;Aalto University&#xff0c;KTH Royal Institute …

如快(sofast)

链接&#xff1a;https://pan.quark.cn/s/06a8b6a75c81如快Sofast是一款致力于提升办公效率的启动器工具&#xff0c;通过简洁易用的操作界面和强大的功能&#xff0c;帮助用户快速访问应用程序和文件&#xff0c;提高工作效率。该工具支持中文拼音模糊搜索&#xff0c;方便用户…

【深度收藏】模型蒸馏vs微调:技术详解+代码实战,两种技术的区别与组合使用指南

文章详细对比了模型蒸馏与微调技术的核心区别&#xff1a;蒸馏通过软标签将大模型知识迁移到小模型&#xff0c;微调则基于硬标签调整模型参数。文章提供了三种实现代码&#xff1a;纯微调、纯蒸馏和蒸馏微调组合&#xff0c;并给出选择策略建议。最佳实践包括先微调教师模型、…

Vue 开发者必看:3 步搞定 dart-sass 替换 node-sass(告别编译慢 +

Vue 开发者必看&#xff1a;3 步搞定 dart-sass 替换 node-sass&#xff08;告别编译慢 Vue 开发者必看&#xff1a;3 步搞定 dart-sass 替换 node-sass&#xff08;告别编译慢 兼容坑&#xff09;引言&#xff1a;为什么我们要和 node-sass 说拜拜技术背景速览&#xff1a;s…

Ascend C 生态深度集成:从 PyTorch/MindSpore 到大模型部署全流程实战

引言&#xff1a;打破框架壁垒&#xff0c;让 Ascend C 成为您的“性能插件”许多团队已在 PyTorch/TensorFlow 上积累了大量模型&#xff0c;但希望在昇腾硬件上获得更高性价比。然而&#xff0c;直接迁移往往面临性能损失——因为框架默认算子未针对 NPU 优化。Ascend C 提供…

乡村煮粥达人之菜豆腐米饭

https://note.mowen.cn/detail/zczPKwKjACrYTJunDKyJ0 之前我写过一篇煮粥秘籍,今天就真的实践上了。今天煮的是豆腐菠菜粥,本来只想煮菠菜粥,打开冰箱的时候,瞥见了一盒豆腐,于是将豆腐洗了洗切碎,也一起煮了。…

Buck Boost Buck-Boost

Buck 电感接在输出端&#xff0c;通过控制开关管的通断时间&#xff08;占空比D&#xff09;&#xff0c;来控制电感中存储的能量。当开关管导通时输入电压给电感储能&#xff0c;开关管关断后&#xff0c;电感释放能量到输出端&#xff0c;由于占空比D<1&#xff0c;达到降…

K8sOperator 有状态服务如何管理

有状态服务在Kubernetes中的管理挑战 有状态服务&#xff08;如数据库、消息队列&#xff09;需要持久化存储、稳定的网络标识和有序的部署/扩展。Kubernetes原生资源&#xff08;如Deployment&#xff09;无法直接满足这些需求&#xff0c;需借助StatefulSet和Operator等机制。…

Ascend C 高阶编程艺术:多核协同、流水线调度与异构任务编排实战

引言&#xff1a;从“单算子优化”到“系统级性能工程”在掌握 Ascend C 基础算子开发后&#xff0c;许多开发者会遇到新的瓶颈&#xff1a;即使单个算子已极致优化&#xff0c;端到端推理延迟仍不理想。问题往往出在 任务调度、数据流转、多核协作 等系统层面。昇腾 AI 处理器…

C语言变量和算数操作符全解析1

创建变量 前文我们了解清楚了类型&#xff0c;其实类型就是用来创建变量的。 我们把C语言中经常变化的值称为变量&#xff0c;不变的值成为常量。 变量创建的语法形式&#xff1a;数据类型&#xff0b;变量名 并且&#xff0c;我们给创建的变量一个初始值&#xff08;比如0…

三十五. Keccak256 哈希函数

三十五. Keccak256 哈希函数 1.签名认证过程 A发送消息给B签名认证过程: A: 步骤1:A把消息"123456"进行哈希得到哈希值H: H = hash("123456"); 步骤2:A用自己的私钥对哈希值H进行签名:signature = Sign(H, "A的私钥"); 步骤3:把消息&quo…

git和github的区别

Git 和 GitHub 是两个密切相关但本质不同的工具&#xff0c;它们在软件开发中扮演着不同角色。以下是它们的主要区别&#xff1a;1. 定义不同Git 是一个分布式版本控制系统&#xff08;DVCS&#xff09;&#xff0c;由 Linus Torvalds 于 2005 年创建&#xff0c;用于跟踪代码的…

鸿蒙与 Electron 的融合探索:跨平台开发新思路(附代码案例)

Step 2&#xff1a;创建预览页面&#xff08;preview.html&#xff09; 引言 随着华为鸿蒙系统&#xff08;HarmonyOS&#xff09;的快速发展&#xff0c;越来越多开发者开始关注其在多设备协同、分布式能力上的创新。与此同时&#xff0c;Electron 作为构建跨平台桌面应用的主…

精益生产到底是什么?七大浪费、五大原则、九大方法,一次讲清

很多人提到精益生产&#xff0c;心里都有个问号&#xff1a;“这个到底和我们业务有啥关系&#xff1f;”“看上去那么复杂&#xff0c;是不是又是个管理噱头&#xff1f;”其实&#xff0c;精益生产的核心是消除浪费&#xff0c;提高效率。它不仅仅是理论&#xff0c;而是一整…

震惊!Linux开发板稳定性排行,这家竟碾压群雄!

Linux开发板稳定性排行揭晓&#xff0c;这家企业竟碾压群雄&#xff01;在当今数字化浪潮中&#xff0c;Linux开发板作为嵌入式系统的核心组件&#xff0c;其稳定性直接关系到工业自动化、智能家居、物联网终端等关键应用的可靠性。市场上各类开发板品牌林立&#xff0c;性能参…

从零入门CANN:揭秘华为昇腾AI计算的核心引擎

# 从零入门CANN&#xff1a;揭秘华为昇腾AI计算的核心引擎> &#x1f4cc; **关键词**&#xff1a;CANN、昇腾AI、Ascend、国产芯片、MindSpore、异构计算 > &#x1f4a1; **适合人群**&#xff1a;AI初学者、高校学生、转行开发者、信创从业者 > ⏱️ **阅读时间…

凌晨2点的CPU报警:一条慢SQL引发的血案

监控大屏上的CPU曲线突然飙升到99%&#xff0c;报警群里的钉钉响个不停。 “数据库崩了。” 运维查了一圈&#xff0c;最后丢出一张截图&#xff1a;一条没有任何索引关联的 SELECT * 正在对一张五千万行的订单表进行全表扫描。这行代码是三个月前实习生写的&#xff0c;当时数…