- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我有各种标签/版本,1.0、1.0.1、1.0.2、1.0.3。 Master 分支目前处于最前沿,正在为 1.1.0 做准备。
我现在意识到我需要推送一个小补丁,1.0.4。
基于 1.0.3 制作补丁的最佳方法是什么,将其推送到 github,将其标记为 1.0.4,但仍然保持 master 分支处于最前沿并为 1.1.0 做准备?
编辑:有问题的存储库(注意,它实际上是 v1.0.5 -> v1.0.6):https://github.com/brashrebel/render
最佳答案
我会说你有两种可能性:一种是将 1.0.4 作为悬空提交保留在它自己的分支中,另一种是将你以后的所有提交 rebase 到那个新分支之上,然后丢弃它。
第一个意思是:
$ git checkout v1.0.3
$ git checkout -b patch-for-1.0.4
# ... edit files ...
$ git commit -a -m 'Patch for 1.0.4'
$ git tag v1.0.4
在此之后,您的标签 v1.0.4
不在 master
分支中,但可以在 repo 中找到它,您可以从中发布。您只需要注意不要删除分支 patch-for-1.0.4
。
第二个意思是做前面提到的,然后继续:
$ git checkout master
$ git rebase patch-for-1.0.4
# ... solve conflicts ...
$ git branch -d patch-for-1.0.4
这假设所有从 1.0.3 到 1.1.0 的提交都是在 master 上完成的。如果您预计会有很多冲突,您可能想先在一个分支上进行测试,或者做一个 --interactive
rebase。
第二种选择更简洁,您可以删除 patch-for-v1.0.4
分支;但这需要在新提交的基础上重新设置旧提交,并不是每个人都愿意这样做,尤其是当您在团队中工作时。
编辑:
这是您的起始情况:
A -------- B - C - D ( ... will become v1.1.0)
(v1.0.3)
第一个片段创建了一个补丁并将其作为悬空提交留在自己的分支中:
A -------- B - C - D
\
--- E
(v1.0.4)
如果此时进行 merge ,您将得到:
A --------- B - C - D --------- E
(v1.0.3) (v1.1.0) (v1.0.4)
为了避免 E
被放在 B - C - D
提交之上,做一个 rebase :
A --------- E ------- B' - C' - D'
(v.1.0.3) (v1.0.4) (v1.1.0)
请注意,此更改将 B - C - D
提交到 B' - C' - D'
,它们具有相同的内容(冲突修复除外),但不同的散列,因为它们现在位于 E
之上,而不是 A
。这可能会破坏您团队中其他人的 master
分支,或他们的功能分支,但会按逻辑顺序保留内容。
关于git - 修改 Github 上的旧版本以推出补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29078569/
我有一个传统上作为 MSI 文件提供的产品。它由我们的各种客户通过某种形式的 SMS 推送部署到数千个桌面。我们用来创建这些安装程序的软件正在使用中,我们正在寻找替换它。由于我们支持许多操作系统,我们
我们有一个使用 Gradle/Android Studio 构建的 Android 应用程序,并使用 JaCoCo 为我们的单元测试生成代码覆盖率报告;这很好用。我们也有兴趣能够为手动测试生成覆盖率报
我正在寻找有关数据库脚本修改的最佳实践的见解,这些修改与软件系统的其他代码更改一起进行。 我曾经在一家公司工作,该公司坚持每次推出都要准备好回滚,以防出现问题。这听起来很合理,但在我看来,通过脚本部署
我使用下面的代码通过 Intent 启动 Twitter,但它不起作用。我的手机上安装了 twitter 应用程序。 Intent shareIntent = new Intent(android.c
我用 1Password存储我的密码,以及 fluid.app创建一些特定于站点的应用程序/浏览器 虽然 1Password与 Chrome、Safari 和其他浏览器很好地集成,它不能很好地与 Fl
我如何启动 google maps transit get directions,以便当我按坐标或地点名称输入源和目的地时,google maps 会建议公交(公交路线)方向。这是骑自行车的代码,但我
我已经为 Android 应用程序开发了一个 SDK。我们有很多客户在应用程序中使用这个 SDK。现在我已经更新了我的 SDK。我正在寻找一种方法可以在应用程序中反射(reflect)这些更改,而无需
我有一个带 child 的 flex 容器,每个 child 都有一些内容(没有固定宽度的),并且在一个 child 上我使用 flex-grow: 1;将其填充到剩余的可用空间。 有时,正在成长的
我们即将推出使用 java web start 构建的客户端服务器应用程序。我们的主服务器位于欧洲的一个国家,第一天就会有许多用户从世界各地下载我们的客户端。由于客户端应用程序相当大(MB),因此我们
我已经尝试了很多组合,而这个是最接近我需要的组合。 我需要的是一个图像 (img1),上面有另一个(较小的)图像 (img2),当我翻转 img1 时,我希望它淡入(并在滚出时淡出),而 img2 保
北京时间 1 月 21 日晚间消息,知情人士今日称,苹果公司的首款 VR/AR(虚拟现实 / 增强现实)头显将是一款昂贵的小众产品,有望于 2022 年推出。这款产品主要为了将来更主流的 “AR
搜索 Apple Pay/Passkit/Wallet 文档,我发现代码示例很少,文档也很差。我们尝试提供我们已配置的支付通行证,而不仅仅是使用 openPaymentSetup() 启动钱包。 根据
我需要这个用于 API11 之前的项目。 我正在寻找一种从右侧添加 View 的方法,这将导致当前全屏 View 向左移出,以便在屏幕中显示新 View 。 新 View 大约是屏幕宽度的 1/3,这
Electron v1.8.2 Spectron v3.8.0 添加光谱测试,但即使是非常基本的测试也会失败。 尝试运行: const { Application } = require('spect
这是我最简单的问题。让我试着把它弄清楚。 我有一个 div,在本例中称为 "testdiv",它附加了一个类名 "menulink"。 div 中有一个链接。当我滚动链接时,我希望 div 类更改为
我想将 li 元素排列在任意数量的列中。 Yellow Block Red Block Green
我试图将 child 推到 parent 的盒子外面,但是,似乎 parent 只是在长度上扩展并获得一个滚动条,所以 child 留在里面,并且在 parent 外面不可见。 .parent {
Google Play 游戏服务:SIGN_IN 状态:ERROR_NOT_AUTHORIZED,推出 Beta 版时。还有这个:- W Auth : [GetToken] GetToken f
我正在尝试使用 Jetpack Compose,但我对 Row 的行为感到困惑。我在图标按钮旁边有一个文本,我希望图标按钮锚定在最小宽度为 48dp 的一侧,并在其周围环绕文本。像这样: 但是文本没有
我从第四行的字符 1 中收到上述错误...不知道是什么抛出了它?我确信这是我看不到的简单事情...... out = out + "Select Box Information The name of
我是一名优秀的程序员,十分优秀!