通常,很多朋友在使用 Git 的时候都会直接用 IDE 中集成的插件或者自带的工具等来实现代码的拉取、提交、合并以及其他操作,当然这肯定也是可以的,但是长期这样子操作,我们就会忽略掉 Git 业务运行的底层逻辑。
那么,我这里就精心总结了我这么多年所用到的最常见的命令汇总,只需要 一篇文档 就能够轻松搞定你所有的 Git 操作烦劳。

一、拉取其他分支代码:

  1、先克隆远程仓库代码 Main 分支

git clone <仓库地址>

  2、切换目录到项目文件夹中
3、将远程仓库的所有分支拷贝到本地仓库

git fetch

  4、切换到目标分支

git checkout <目标分支>

二、查看分支列表

git branch

三、创建分支

git branch <分支名称>

四、切换分支

git checkout <目标分支>

五、同步远程代码到本地

git pull origin <指定分支>

六、合并分支

  1、通过 merge 命令将其他分支的代码合并到当前分支:

git merge <目标分支>

  2、如果想要将 YW 分支合并到 TEST 分支。
首先确保 YWTEST 两个分支的代码都已经提交到远程仓库,并且已经更新了最新的代码;
而后由 YW 分支切换到 TEST 分支;
执行命令 git merge YW 将本地的 YW 分支合并到 TEST 分支;
最后将 TEST 分支提交到远程仓库即可完成合并。
3、合并分支的时候不 Commit ,自行可以继续编辑合并的文件:

git merge --no-ff --no-commit <目标分支>

  4、合并分支后撤销合并:
第一步:

git checkout  <执行 merge 操作所在的分支>

  第二步:

git reset --hard <merge 前的版本号>

  当然,这里还有其他的方案。
5、merge 后没有 commit ,但是想要终止 merge ,可以采取如下方案

git merge --abort

七、拉取指定分支的指定文件到当前分支

  采用 checkout 命令,--patch 参数表示补丁,而不是直接替换整个文件

git checkout --patch <指定某个分支名> <目标分支的指定文件或者文件夹名称>

八、列出两个分支的差异文件列表:

  采用命令 diff 进行差异比较,加上参数 stat 可以只列出有差异的文件列表。命令如下所示:

git diff <分支1> <分支2> --stat 

y - 存储这个 hunk
n - 不存储这个 hunk
q - 离开,不存储这个 hunk 和其他 hunk
a - 存储这个 hunk 和这个文件后面的 hunk
d - 不存储这个 hunk 和这个文件后面的 hunk
g - 选择一个 hunk
/ - 通过正则查找 hunk
j - 不确定是否存储这个 hunk ,看下一个不确定的 hunk
J - 不确定是否存储这个 hunk ,看下一个 hunk
k - 不确定是否存储这个 hunk ,看上一个不确定的 hunk
K -不确定是否存储这个 hunk ,看上一个 hunk
s - 把当前的 hunk 分成更小的 hunks
e - 手动编辑当前的 hunk
? - 输出帮助信息

九、删除分支

# 删除本地分支
Git branch -dlocalBranchName
# 删除远程分支
Git push origin --deleteremoteBranchName

十、重命名分支

  在当前分支时

git branch -m new_branch_name

  1、当不在当前分支时

git branch -m old_branch_name new_branch_name

十一、回滚

# 查看提交的历史
git log 
# 如果嫌上面的输出信息过多可以使用这条(只输出版本号)git log --pretty=oneline # 回到上个版本
git reset --hard HEAD^ 
# 回到上上个版本
git reset --hard HEAD^^ 
# 本地分支回滚到指定版本
git reset --hard <commit ID号>
# 强制推送到远程分支
git push -f origin <branch name>
# 强制推送到指定分支,这里指定的版本之后的提交记录将会移除。

十二、commit 后但是没有 push ,想要撤回:

  使用 git log 查看 git 操作日志,如下:
在这个例子中,a123456 是要取消的提交,b123456 是要回退到的提交。
撤回 commit 但不取消暂存区的修改内容:软回退

git reset --soft b123456

  撤回的同时将本地修改也删除掉:硬回退

git reset --hard b123456

  如果已经 push 到远程分支了,那么需要将当前的撤回推送到远程分支一下,命令如下:

git push -f

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

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

相关文章

自学嵌入式第三十三天:网络编程-UDP

一、OSI模型(open system interconnect)开放系统互联模型&#xff0c;分为7层应用层&#xff1a;为网络用户提供各种服务&#xff0c;例如电子邮件、文件传输等&#xff1b;表示层&#xff1a;为不同主机间的通信提供统一的数据表示形式。加密解密&#xff0c;压缩&#xff1b;…

A*(Astar)算法详解与应用

算法背景A*&#xff08;A-Star&#xff09;算法是一种在图形平面上&#xff0c;有多个节点的路径中&#xff0c;求出最低通过成本的算法。其历史可以追溯到早期的图搜索算法&#xff0c;如Dijkstra算法和贪心最佳优先搜索&#xff08;Greedy Best-First Search&#xff09;。是…

word删除指定页面

常规程序因为wps的 .docx 文件是基于段落和节的结构&#xff0c;而不是“物理页”&#xff0c;所以无法直接按“第几页”删除在普通程序里面无法读取到他的页码&#xff0c;但是在宏编程里面他能读取到页码&#xff0c;我们就根据宏编程来这样删除。程序会自动打开选择要删除的…

RK3568平台开发系列讲解:瑞芯微平台4G模块篇移植

更多内容可以加入Linux系统知识库套餐(教程+视频+答疑) 🚀返回专栏总目录 文章目录 一、硬件图片 二、功能宏 三、增加PID/VID 支持 3.1、usb_device_id 结构体 3.2、usb_device_id 的注册 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、硬件图片 目标: 结果…

面试 (一)

目录 1. HashMap是怎么解决冲突的 是用什么数据结构实现的 2. 为什么hashmap的初始长度为16 3. 多线程的核心参数 4. 多线程怎么工作的 5. CISCS是怎么实现的 6. JUC知识 7. C和java的区别 8. JVM底层编译的东西 9. 公平锁和非公平锁 10. 有人恶意攻击你的平台每秒发送…

计算机毕设选题:基于Python+Django的健康饮食管理系统设计【源码+文档+调试】

精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二…

vscode terminal远程连接linux服务器GUI图形界面

看了很多教程&#xff0c;不清楚具体原理&#xff0c;但总之自己是摸索出来了&#xff1a; 1.下载vcxsrv&#xff0c;最后双击exe程序启动&#xff1a; 每一步的配置如下&#xff1a;2.修改配置 vscode中按下“ctrlshiftp”&#xff0c;然后输入“Remote-SSH: Open SSH Configu…

文档外发管理产品哪个品牌强?安全与效率双优产品推荐

在企业间协作日益加深的今天&#xff0c;企业对文档外发管理相关产品的安全性和效率要求越来越高。无论是日常业务协作&#xff0c;还是跨组织数据交换&#xff0c;如何确保文件在传输过程中不被泄露、篡改&#xff0c;同时又能高效流转&#xff0c;成为企业IT管理的重要课题。…

【教程】2025 IDEA 快速创建springboot(maven)项目

第一步&#xff1a;【新建】-【module】&#xff0c;左边选择springboot&#xff0c;右边填写相关信息。第二步&#xff1a;选择相关依赖。第三步&#xff1a;删掉一些无关的文件&#xff0c;保持项目简洁创建springboot项目已经结束了&#xff0c;下面是构建项目的架构以及环境…

【小白笔记】移动硬盘为什么总比电脑更容易满?

我明明只复制了10个G的文件&#xff0c;为什么我的移动硬盘就满了&#xff1f; 大家好&#xff0c;我是个刚入门的小白&#xff0c;最近遇到了一个让我百思不得其解的问题。我把电脑里的一些文件&#xff0c;总共加起来也就10个G左右&#xff0c;心想移动硬盘还有几十个G的空位…

单独一篇云原生介绍

云原生&#xff08;Cloud Native&#xff09;‌不是单一技术&#xff0c;而是一套构建和运行应用程序的完整方法论‌&#xff0c;旨在充分利用云计算的优势&#xff08;弹性、按需资源、分布式环境&#xff09;来构建‌高韧性、可扩展、易于管理的应用‌。它的核心思想是让应用…

Git如何查看提交行数与删除行数:统计代码贡献量的完整指南

Git如何查看提交行数与删除行数&#xff1a;统计代码贡献量的完整指南 在软件开发中&#xff0c;代码行数统计是衡量团队协作效率和项目进度的重要指标。通过Git的命令行工具&#xff0c;开发者可以轻松查看提交的代码行数、删除的代码行数以及净增行数。本文将详细介绍多种方…

DVWA靶场通关笔记-SQL注入(SQL Injection Impossible级别)

目录 一、源码分析 1、index.php 2、impossible.php 二、SQL注入防范分析 1、Anti-CSRF 令牌 2、参数化查询 3、输入验证 本系列为通过《DVWA靶场通关笔记》的SQL Injection 关卡(low&#xff0c;medium&#xff0c;high&#xff0c;impossible共4关&#xff09;渗透集合…

MySQL中事务的作用和定义

在 MySQL 中&#xff0c;​​事务&#xff08;Transaction&#xff09;​​ 是一组数据库操作的逻辑单元&#xff0c;这些操作要么​​全部成功执行​​&#xff0c;要么​​全部失败回滚​​&#xff0c;以确保数据库从一个一致状态转换到另一个一致状态。事务是关系型数据库&…

华为Fit4:腕间助手,守护你的健康,带你开启智慧生活

清晨被闹钟吵醒&#xff0c;想要关掉却怎么也找不到手机&#xff1f;经常睡很久却还是很困&#xff1f;重要的事情常常因为没有被记录和规划清楚最终变得手忙脚乱&#xff1f;人流拥挤的地铁上半天找不到刷码信息&#xff1f;这些问题是不是生活中常常遇到&#xff0c;别担心&a…

【交易系统系列36】揭秘币安(Binance)技术心脏:从公开信息拼凑“MatchBox”撮合引擎架构

一、 核心概览:从白皮书的豪言到监管文件的“实锤” 要理解币安的架构,我们首先要抓住几个关键的、有据可查的事实: 性能目标:在其早期白皮书中,币安宣称其撮合引擎能够达到每秒140万笔订单的处理能力。这串数字,无论是在当时还是现在,都代表着对系统吞吐量和低延迟的极…

SpringBoot08-Spring Boot 多环境配置

方式一&#xff1a;纯 Spring Profile&#xff08;最常用&#xff0c;官方推荐&#xff09;思路&#xff1a;用 application-{profile}.yml 切分配置&#xff0c;运行时指定用哪个 profile。 如何做&#xff1a;src/main/resources/application.ymlapplication-dev.ymlapplicat…

苍穹外卖项目笔记day04--Redis入门

Redis 概念 Redis 是一个开源的、高性能的键值存储系统&#xff0c;常被归类为NoSQL数据库。它支持多种数据结构&#xff0c;如字符串、列表、哈希、集合和有序集合&#xff0c;适用于缓存、消息队列、实时分析等多种场景。Redis是一个基于内存的key-value结构数据库。Redis …

OpenCV 图像处理实战与命令行参数配置:从轮廓检测到模板匹配

在计算机视觉领域&#xff0c;OpenCV 是一款功能强大且应用广泛的开源库&#xff0c;它提供了丰富的 API&#xff0c;支持图像读取、预处理、特征检测等多种操作。本文将结合实际代码案例&#xff0c;详细讲解如何使用 OpenCV 实现轮廓检测、轮廓近似、模板匹配等常用功能&…

深度学习---pytorch卷积神经网络保存和使用最优模型

在深度学习模型训练过程中&#xff0c;如何提升模型性能、精准保存最优模型并实现高效推理&#xff0c;是每个开发者必须攻克的关键环节。本文结合实际项目经验与完整代码示例&#xff0c;详细拆解模型训练优化、最优模型保存与加载、图像预测全流程&#xff0c;帮助大家避开常…