我们开始在dev分支中开发功能,但意识到这将花费更长的时间,因此我们在开发过程中为其余更改创建了功能分支。
提交在dev分支中不连续。我们希望在dev分支上还原这些提交,以准备发布而无需任何功能分支代码。
我们有这个:
A--Fa--B--Fb--C--D--E--F--G <-- dev
\
Fc--Fd--Fe <-- feature
我们想要这个:
A--B--C--D--E--F--G <-- dev
\
Fa--Fb--Fc--Fd--Fe <-- feature
这很容易通过恢复Fa
和Fb
在dev分支上的提交来实现。但是,当需要合并功能分支时,git会抱怨吗?
A--B--C--D--E--F--G--H-- <-- dev
\ /
Fa--Fb--Fc--Fd--Fe <-- feature
答案appears to be yes ...,我想知道是否有办法避免这种情况?
This question几乎完全是我要的内容-但我的提交不是连续的。有关系吗?
我无法(轻松地)重写历史记录,但是我想这是可能的(只有其他两个开发人员拥有该存储库)。
答案 0 :(得分:0)
因此,在稍微使用git之后,唯一的选择是还原提交,重置dev分支,然后重新提交所有内容(包括非功能性工作),因为它是一个巨大的blob,强制推送然后合并将更好地工作。
注释掉几行以使代码失效更容易。
答案 1 :(得分:0)
我认为您可以将自己的dev分支硬重置为提交A。然后您可以在此处启动一个新功能分支,然后为这两个分支选择合适的提交。完成选择提交的工作后,请删除旧功能分支。我认为您会优雅地达到想要的状态。