git log 记录 patch

2023-10-27

如何打tag

git tag -a KPN_FW_v1.02.01_build01 -m “KPN_FW_v1.02.01_build01”
git push origin --tags

这里写图片描述


git查看历史记录及修改内容

git whatchanged

https://blog.csdn.net/albertsh/article/details/126455725


git回退到某个commit

1、回退到指定的commit

git reset --hard commit_id  //退到/进到 指定的commit

2、强推到远程仓库

git push origin HEAD --force

ps:如果无法强推,可能是分支处于保护状态,先在后台取消该分支保护。
————————————————
版权声明:本文为CSDN博主「yzpyzp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yzpbright/article/details/124754763

git还原本地某个文件

在使用git的时候,我们经常会修改文件,如果修改的不满意,想回到版本库的版本,我们现在分为两种情况:

第一种:要修改的文件已经添加到暂存区:
就是git add .过了,我们需要做如下操作:

1.先把文件恢复到未跟踪状态:

git reset head [filepath]//单个文件
git reset head .//所有文件

2.撤销文件修改:

git checkout -- [filepath]//单个文件
git checkout .//所有文件


rk@rk:~/01_zq/source$ git checkout -- kernel/arch/arm64/kernel/cpuinfo.c

这样文件就回到未修改的状态了
https://blog.csdn.net/weixin_41111189/article/details/110382725

Git patch的使用方法和场景

https://blog.csdn.net/csfchh/article/details/123902952

  1. diff/apply方案
    此方案使用diff命令生成patch文件,后使用apply命令应用patch到分支,从而实现修改复刻。其大致流程如下:

# 生成补丁
git diff > commit.patch
# 检查补丁
git apply --check commit.patch
# 应用补丁
git apply commit.patch



---------------------------------------
方法1.
做patch:
首先,修改代码
然后,在存在.git的代码目录下使用如下指令
              git diff > patchname.patch        
       核入patch:
              到代码对应的git库下执行如下指令:
              git apply patch所在路径           
              然后正常git add . 以及后续push相关操作
方法2
       做patch:
              首先,修改代码
              然后,git add.再git commit以获取commit信息
              最后根据commit的id制作patch:     git format-patch commitid^       @@’^’必须
       核入patch
              到代码对应的git库下执行如下指令:
              git apply patch所在路径            或者git am --abort再 git am patch所在路径
              然后正常git add . 以及后续push相关操作
 
注意事项:
       Patch生成之后勿擅自改动,否则很大概率无法正常核入。

一些常用的命令,备忘

git pull 更新你的本地仓库至最新改动
git init 创建新的 git 仓库

检出仓库执行.如下命令以创建一个本地仓库的克隆版本:

git clone /path/to/repository 

如果是远端服务器上的仓库,你的命令会是这个样子:

git clone username@host:/path/to/repository
git clone git@10.118.80.98:/home/git/sw4/arc-openwrt

添加与提交,可以计划改动(把它们添加到缓存区),使用如下命令:

git add <filename>
git add *

git commit -m "提交的说明"

git push

这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
git commit -m “代码提交信息”
现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。


查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d

创建一个叫做“feature_x”的分支,并切换过去
git checkout -b feature_x

git checkout命令加上-b参数表示创建并切换(git checkout -b dev),相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch ‘dev’


切换回主分支:
git checkout master
新建的分支删掉:
git branch -d feature_x
除非你将分支推送到远端仓库,不然该分支就是不为他人所见的:
git push origin

详细查看log提交记录
git log --oneline --stat

推送改动,你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
git push origin master
可以把 master 换成你想要推送的任何分支。
如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin
如此你就能够将你的改动推送到所添加的服务器上去了。

工作流
你的本地仓库由 git 维护的三棵“树”组成。
第一个是你的 工作目录,它持有实际文件;
第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;
最后是 HEAD,指向你最近一次提交后的结果。


repo branches
查看分支

repo forall -c git checkout -b develop_leo develop
checkout -b 创建分支develop_leo 从develop分支上创建

git remote -v
leo_lin@linux-4b5l:~/aldk/aldk> git remote -v
shaldk git@10.118.80.98:/home/git/sw4/aldk/aldk (fetch)
shaldk git@10.118.80.98:/home/git/sw4/aldk/aldk (push)
git remote 不带参数,列出已经存在的远程分支

git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url,例如:
git remote -v
origin_apps gitolite@scm:apps/Welcome.git (fetch)
origin_apps gitolite@scm:apps/Welcome.git (push)
需要注意的是,如果有子命令,-v | --verbose需要放在git remote与子命令中间。

repo forall -c git pull shaldk develop:develop_leo
从shaldk 的develop分支上的code拉下来到develop_leo的分支上


git stash list
git stash

git pull origin develop 更新你的本地仓库至最新改动

 git stash pop
 
git push origin <branch>


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git log 记录 patch 的相关文章

  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • 如何解决 VS Code 中变基拉取的合并冲突?

    当我做一个git pull rebase 并且我的提交中存在合并冲突 我得到冲突差异视图 解决所有冲突并暂存文件 然后呢 我可以打开终端并运行git rebase continue但是 VS Code 中不应该有一个按钮来完成变基吗 只需使
  • git Blame:合并后正确的作者

    GIT 合并引入了新的提交 这会导致 git Blame 问题 合并的行似乎是由进行合并的开发人员提交的 我可以理解这种情况冲突的变化 因为他解决了冲突 但是有没有办法让非冲突线路不发生这种情况呢 一些 git Blame 的选择 如果没有
  • 无法使用 git 推送或获取 [重复]

    这个问题在这里已经有答案了 我可以拉 但无法使用 git 版本 1 9 5 推送或获取 它突然开始给我以下错误 关于如何修复它有什么想法吗 git fetch fatal unable to access https email prote
  • 在 Azure DevOps 中为 Wix MSI 文件生成 GUID

    我正在为 Web 服务器应用程序和 Sitecore 前端应用程序设置 Wix 安装程序 我的问题并非特定于 Web 服务器或 Sitecore 我的问题是 Wix 以及如何使用它进行持续交付 1 Wix 需要每个文件和产品本身的 GUID
  • GIT - 推送到 (GitHub) origin master 没有任何作用

    我已经分叉了某人的 GIT 存储库 https github com nippysaurus toodledo objc 将其克隆到我的本地计算机 显示带有以下信息的来源 remote origin Fetch URL https emai
  • 如何生成类似github的影响图?

    是否有一些程序 或者我错过的一些神奇的 git 插件 可以从 git 存储库获取影响图或类似的东西 而无需通过 github 就数据收集而言 我可以生成图表 我不确定从哪里开始编写自己的代码 我假设有一些标志我可以传递给 git log 来
  • 如何关闭分支而不将其从 git 的历史记录中删除?

    我想提交并关闭其分支 而不将其从历史中删除 有了水银我会commit close branch then update转到上一个 然后继续工作 有了 git 我很困惑 没有与 Git 中关闭分支完全相同的方法 因为 Git 分支比 Merc
  • 执行 git Push 时出现“diff.renamelimit 变量”警告

    我将本地提交推送到远程 git 服务器并收到以下警告消息 remote warning only found copies from modified paths due to too many files remote warning y
  • 为什么“git描述-dirty”在描述干净结帐时添加“-dirty”后缀?

    我刚刚发现 dirty选项git describe看起来它应该做一些非常有用的事情 即在输出中附加一个后缀git describe当工作树脏时 但是在我的一些存储库上似乎并非如此 git status On branch 8 30 noth
  • 清理远程 Git 分支

    我已经将 SVN 存储库移至 Git 可能由于多次克隆 我现在只剩下一堆看起来像这样的分支 BranchA origin BranchA remotes BranchA remotes origin BranchA remotes orig
  • Jenkins GIT 包含从未构建过的区域

    我正在尝试使用包含区域在 Jenkins 中构建我的工作 但每当选中此选项时 民意调查结果总是说未检测到任何更改 我尝试了许多不同的路径 以及使用工作区进行 不进行强制轮询 结果是轮询从未检测到任何更改 但一旦我删除这些选项 它们就会在下一
  • 将 Visual Studio 在线 Git 存储库集成到 Android Studio 1.0.2

    我正在使用 Visual Studio Online 进行开发过程 我想将我的 Android Studio 1 0 2 代码集成到其中 但是 据我所知 Android Studio 没有 TFS 插件 这就是为什么我想使用 Git 进行源
  • TortoiseGit - 更改默认合并消息

    系统描述 Windows 7的 git版本2 10 1 windows 1 乌龟Git 2 3 0 0 I want 合并提交消息在不同的情况下有所不同fully自动方式 no manual amend Summary 在windows上
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • Git:忽略版本控制文件

    gitignore 文件对于忽略一些我们不想控制的文件非常有用 不幸的是 当文件已处于版本控制之下时 它无法使用 例如 我的 gitignore 已添加到 git 中 文件可能与我的同事想要的不同 例如我想忽略 Vim 文件 每当我对此文件
  • git merge --squash 和 gitcherry-pick 有什么区别?

    如果我在标准的主功能工作流程中工作 那么将功能分支压缩到主功能分支和将其挑选到主功能分支之间有什么区别 分支示例 m1 m2 master f1 f2 feature 我认为两者都有相同的输出 即 m1 m2 m3 master f1 f2
  • git rebase 吃了我的提交!为我翻译“git reflog”输出?

    我已经完成了五次提交 我想在推送它们之前将它们全部合并为一次提交 出于某种原因 我决定尝试通过与通常使用的不同的方式来做到这一点 FWIW 我试图按照此处的说明进行操作http gitready com advanced 2009 02 1
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错

随机推荐

  • STL容器三 -- List 详解

    目录 目录 前言 一 STL List 的基本认识 1 1基本认识 1 2 list 双向迭代器 1 3一些list特有接口 二 模拟实现 2 1节点实现 2 2正向迭代器模板实现 2 2 1list迭代器 非原生指针的认识 2 2 2指针
  • 主流编程语言的底层实现是什么以及gcc,clang,llvm等编译器的区别

    文章目录 一 前言 二 c和c 和c 的区别 1 高级语言和低级语言 2 c 和 c 和 c 的区别 1 C语言 2 C 三 各主流语言的底层实现 1 python的底层实现 2 java的底层实现 3 php的底层实现 4 js的底层实现
  • .NET实现字符串base64编码

    using System using System Text using System IO using System Security using System Security Cryptography namespace Tgnet
  • 分页出现数据重复的解决方案

    用户量急剧上升中 偶尔会发现这么一个问题 就是下一页的数据中总会出现上一页的几条数据 为什么会造成这个问题呢 用户在查询第一页的时候 停留了一下 然后在这段时间内 又有两个用户注册了 然后请求第二页的数据的时候 排序的时候 两个新用户排在了
  • “kube-flannel.yml“: daemonsets.apps “kube-flannel-ds“ already exists

    Error from server AlreadyExists error when creating kube flannel yml podsecuritypolicies policy psp flannel unprivileged
  • 帝国cms【官方教程系列教程一】 首页模板制作

    帝国cms首页模板是指网站首页的模板 index html 修改首页模板 1 登录后台 单击 模板 菜单 选择 首页模板 子菜单 进入修改首页模板界面 2 进入修改首页模板界面 3 首页模板支持的变量说明 news url 网站地址 参数设
  • 存储器系统课后习题参考答案

    1 解释概念 主存 辅存 Cache RAM SRAM DRAM ROM PROM EPROM EEPROM CDROM Flash Memory 答 主存 主存储器 用于存放正在执行的程序和数据 CPU可以直接进行随机读写 访问速度较高
  • MySQL 哈希索引、空间数据索引、全文索引

    1 哈希索引 哈希索引基于哈希表实现 仅支持精确匹配索引所有列的查询 对于每行数据 存储引擎都会对所有的索引列计算出一个哈希码 哈希索引将所有的哈希码存储在索引中 同时保存指向每个数据行的指针 1 1 存储结构 常见的存储引擎中 MEMOR
  • DateUtil 工具类整理一些自己用到过得,有点逻辑处理的方法

    获取当前的年分 return public static int getSeasonId Calendar cal Calendar getInstance return cal get Calendar YEAR 获得本周一与当前日期相差
  • 硬件系统工程师宝典(19)-----原理图封装库,你画对了吗?

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到PCB制造过程中 不同的焊接工艺 布局元器件之间的距离要满足不同的要求 PCB走线时要从焊盘中心走线并且宽度小于焊盘宽度 以及丝印排布的建议
  • OpenAI 选择这家成立2年的8人团队做什么?

    当地时间 8 月 16 日 OpenAI 发布公告称收购了 Global Illumination 的团队 此笔交易更成为 OpenAI 自 2015 年成立以来首次对外收购 但并未公开交易涉及金额 据悉 该团队将参与 OpenAI 核心产
  • Win10竟然内置了一台虚拟机

    第一步 打开win10自带的虚拟机Hyper V 需要 win10系统 1 点击windows键 e键打开文件资源管理器 右击此电脑 gt 选择属性 gt 打开控制面板 2 选择控制面板主页 gt 选择程序与功能 3 点击启用或关闭Wind
  • 入住倒计时

    经过辛辛苦苦的三个月的时间 房子总算硬装结束 入住时间也排上了日程 查了查老黄历 西历2008 09 14即公历8月15 中国的中秋节 日子不错 是入住的黄道吉日 准备买点鞭炮小热闹一下 一来冲冲三个月来的劳累 烦躁的情绪 二来也算献给一期
  • springboot-配置类学习

    开发SpringBoot应用时经常涉及到配置文件 平时只是知道使用 ConfigurationProperties来注解类 或者使用 Value来获取配置值 通过 EnableConfigurationProperties来将配置类作为be
  • [正能量系列]失业的程序员(二)

    http blog csdn net shenyisyn article details 8634185 闹钟响 迷迷糊糊的我砸了一下开关 竟然把闹钟砸坏了 昨天接到学姐的电话 说是帮我介绍了一个钢管制造厂企业型宣传网站的业务 难度不大主要
  • 第六十六篇 三种常见的电路输出OC/OD和推挽

    1 OC输出 集电极开路输出 所谓OC就是open collector 字面理解就是collector极开路状态 既是集电极什么负载都不接 保持开路状态 在集电极开路输出OC结构电路中 类似上图 如果Q2断开的话 那么输出OC门的状态不可知
  • elementui中的tree组件相关操作集合

    目录 1 刷新指定节点 2 自定义过滤方法 3 新增子节点 4 编辑节点名 5 拖拽节点 6 某节点高亮 7 总结 8 组件整体的代码 1 刷新指定节点 node节点有一个loaded的属性 用来存储该节点是否展开过 刷新指定节点的思路 无
  • How to use appreciation and lie

    appreciation 1 理解 同情 体谅 I had no apprecation of the prombles you faced 我没有体谅到你当前所面临的困难 2 感谢 感谢 Please accept this gift i
  • PowerShell混淆相关

    相关技术文章 2016 05 26 利用机器学习检测恶意PowerShell https bbs pediy com thread 230002 htm 2018 11 09 FireEye 基于机器学习的模糊命令行检测 https www
  • git log 记录 patch

    如何打tag git tag a KPN FW v1 02 01 build01 m KPN FW v1 02 01 build01 git push origin tags git查看历史记录及修改内容 git whatchanged h