在将我的更改与上游主服务器合并时,我经常发现自己在执行以下操作:
git checkout somefeature
git checkout -b integration
git rebase master # resolving conflicts along the way
git checkout somefeature
git merge integration # or rebase, doesn't matter in this example
Run Code Online (Sandbox Code Playgroud)
我经常发现将集成分支合并回我的功能分支会导致一些冲突失败.我遇到的第一个问题是,"如果我的集成分支是某些特征的后代并且我已经解决了与上游主人的冲突,为什么会发生这种情况呢?"
如果你想知道我为什么要使用集成分支开始,那就是防止使用半失败的合并来污染我当前的分支.
我目前的解决方法是这样做:
git checkout integration
git branch -f somefeature # overwrite the branch
Run Code Online (Sandbox Code Playgroud)
现在的问题是我无法将我的更改推回到远程分支:
git push origin somefeature
! [rejected] somefeature -> somefeature (non-fast forward)
Run Code Online (Sandbox Code Playgroud)
所以现在我必须删除远程分支并重新推送我的更改.这不是最好的方法,所以我想知道,"覆盖分支并将更改推送到远程分支的最佳方法是什么?"
我正在尝试分发一个应用程序,该应用程序需要标准Lead对象上的一些自定义字段.创建自定义字段对我的组织来说很简单,我只需在"我的名字" - >"设置" - >"自定义"下添加它们.我想弄清楚的是如何确保安装我的应用程序的人也可以使用这些自定义字段.如果有人能够概述完成此任务所需的步骤,那将非常感激.