- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 master 分支,里面有很多不会发布的特性。我被要求从 master 中删除这些功能并创建一个包含它们的新分支,以便我们稍后可以 merge 回 master。
我采取的步骤是:
期望我会继续致力于“NewFeatures”并定期将 master merge 到“NewFeatures”中,这样当我重新 merge 时,它是无缝的。
现在,当我想让“NewFeatures”与 master 保持同步时,master 想要删除 NewFeatures 中的所有代码。
我的问题是,用 Git 完成“从 master 中删除一堆功能并将它们放入另一个分支以供以后 merge ”的正确方法是什么?
更新感谢您的回复。我制作了一张图表,希望能够解释事情。最大的问题是,在第一次从 main merge 到 feature(第二行的第一个 xy)时,主分支想要删除所有 y,因为我删除了所有 y。
- y - x - y -(删除 y)- x - x -(释放 x)-x - x - xy - xy - xy -(释放 xy)
\\\/
y - y - y - y - y - xy - y - y - xy -(完成)
更新 2我最终将分支移动到刚从 main 中删除 NewFeature 之后(但我已经复制了删除的文件),然后将删除的文件复制回来。这样,main 可以 merge 到 NewFeature 而不会杀死东西,并且 NewFeature 可以 merge 回去进入 main 没有问题。我失去了一些提交日志跟踪,但它似乎比接下来三天的 cherry-picking 文件要好。
下面的帮助似乎是正确的方法,但这种方法对我来说似乎已经足够了(讨论使我最终采用了这种方法,所以谢谢大家)。
谢谢,布莱恩
最佳答案
我相信您需要做的是从现有的 master
分支创建两个分支。一个只包括应该进入 master
的提交,另一个只包括包含 new-feature
工作的提交。
我制作了一个快速图表来说明我的意思。目前你有这样的东西(顶部的最新提交):
* - Master work
|
* - New feature work
|
* - Master work
|
* - New feature work
|
* - Master work
|
* - New feature work
|
* - Common commit
你需要到达这里:
* - Master work
|
| * - New feature work
| |
* | - Master work
| |
| * - New feature work
| |
* | - Master work
| |
| * - New feature work
| /
|/
* - Common commit
重要的是不要在您的两个分支之间重复任何提交,因为这可能会在您稍后 merge 时导致问题。
您可以使用 git rebase
来实现这一点,但是如果您说您有数百个提交,那么您就没有好时机,因为您必须单独审查每个提交。
关于Git - 如何从原点删除工作,但稍后从另一个分支 merge 回来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770912/
我对 Objective C 和 iOS 开发总体来说是新手。我正在尝试创建一个应用程序,它会发出 http 请求并在标签上显示内容。 当我开始测试时,我注意到标签是空白的,尽管我的日志显示我已经恢复
我实现了一个 MVP 应用程序。后退按钮工作正常。我想以编程方式回到以前的地方。我该怎么做? 我正在寻找类似的东西: clientFactory.getPlaceController().goBack
我想从 mySubView 制作后退按钮。我有带有按钮的付款ViewController,这个按钮使view.addSubview(WkWebView)。所以我可以打开 WkWebView 但我不可能
我有一个 master 分支,里面有很多不会发布的特性。我被要求从 master 中删除这些功能并创建一个包含它们的新分支,以便我们稍后可以 merge 回 master。 我采取的步骤是: 在 ma
如何禁用页面上的所有 onclick 事件,绑定(bind)我的自定义函数,并在执行后启用所有之前的事件? 我正在构建一个小书签,它应该适用于任何已加载的页面,并且我正在使用 jQuery 来处理我的
我正在尝试从 Spotify api 接收 token 。不幸的是,我一直收到 415。你能帮帮我,让我知道我做错了什么吗? const axios = require('axios'); const
我有一个提供上下文的函数: def buildContext(s:String)(request:RequestHeader):Future[Granite.Context] = { ....
我有一个列表,其中包含几个不同形状的 numpy 数组。我想将这个数组列表 reshape 为一个 numpy 向量,然后更改向量中的每个元素,然后将其 reshape 回原始数组列表。 例如: 输入
我目前有这个工作 fiddle - http://jsfiddle.net/B8Abd/ 我想在函数中使用 jquerys 淡出然后淡入。目前的代码是这样的: function chan
我有 2 个分支,一个是 main 分支,另一个是我正在开发一个 parallel 版本。 A --> B --> C (master) \ -> E --> F (parallel) pa
我试图从我的“ super 项目”中的文件目录中创建一个“子项目”以与其他人一起工作,但我一直在努力使其在 git subtree 中工作。 理想情况下,其他人可以在子项目上工作,然后我从上游更改中提
有没有其他人看到这个? 我正在使用带有回形针的 rails 3,当我上传 .doc 时,它的应用程序/msword 效果很好,但是当我上传 .docx 时,content_type 被保存为应用程序/
我是一名优秀的程序员,十分优秀!