zoukankan      html  css  js  c++  java
  • GIT补丁怎么打?

    ‌$ git format-patch [-s]  <引用或其范围>

    // 将特定的一个提交或一个范围内的提交("HEAD~3...HEAD"等价于"HEAD HEAD^ HEAD^^")转换成补丁文件,加上s 参数表示在补丁说明中加入作者姓名。

    ‌$ git send-email *.patch

    // 将补丁文件用邮件的方式发送给PM(项目经理) ,邮件接受者打开mail ,可以将收到的补丁邮件挑选出来,保存在一个mbox格式的文件中。例如执行mail 命令后,在mail 命令行中执行

    & s 1-3 user1-mail-archive

    表示将收件箱中前三封邮件归档在user1-mail-archive文件中。当然这个文件可以通过执行mail -f user1-mail-archive打开查看。

    ‌$ git am user1-mail-archive

    // 此时当把heads 退回到HEAD~3 时,再执行上述命令就可以成功打上3补丁,使heads 再次指向原HEAD。

    ‌$ cat  *.patch | git am

    // 打补丁文件*.patch。该补丁文件可以是u 盘靠过来的,或是其他人任何非mail 形式获取的补丁文件。

    还有另外两个补丁管理工具StGit和 Quilt

    以StGit 为例来说明:

    安装

    // 可以通过apt install stgit stgit-contrib安装

    安装好之后,进入工作区。首先初始化stgit

    ‌$ stg init //初始化

    ‌$ stg series //查看补丁列表

    ‌$ stg uncommit -n<num>

    // 将最近num个提交预选为补丁文件源,压入补丁栈中。注意此时分支master没变化。

    ‌$ stg pop [-a]

    ‌// 弹出栈顶补丁文件,同时删除对应的提交。如果加上a参数,表示弹出所有栈中的补丁文件,并将master 重置到最后一个补丁文件之后的提交。

    ‌$ stg push

    ‌$ stg goto <x.patch>

    // 前者打栈顶补丁到分支中,后者将指定补丁打到分支中。

    ‌$ stg refresh

    //当打完一个补丁后,发现其中有一个小的bug,我们可以在工作区修改完后,不加入暂存区,直接执行上述补丁刷新命令,此时你打过的补丁会自动更新,而不必再产生一个提交。

    ‌$ stg push + $ stg refresh

    // 因为之前的补丁有更新,导致执行stg push 后再往后打补丁有可能会遇到冲突,此时可以直接编辑冲突文件,之后添加到暂存区,不提交直接执行stg refresh 。更新补丁文件的同时更新提交。

    ‌$ stg export -d patchs

    //将补丁文件导出到patchs 目录,且目录里除了补丁文件之外,还会包含一个说明补丁顺序的文件series

  • 相关阅读:
    SharePoint Framework (SPFx) 开发入门教程
    SharePoint 2013 Designer 入门教程
    SharePoint 2013 开发教程
    SharePoint 2013 入门教程
    SharePoint Online 部署SPFx Web部件
    SharePoint Online SPFx Web部件绑定数据
    SharePoint Online 创建SPFx客户端Web部件
    SharePoint Online 配置框架(SPFx)开发环境
    SharePoint Online 创建应用程序目录
    SharePoint Online 启用 IRM
  • 原文地址:https://www.cnblogs.com/leon1124/p/14039870.html
Copyright © 2011-2022 走看看