【发布时间】:2021-08-30 17:15:42
【问题描述】:
我有 3 个分支:development、qa 和 staging。我在development 和qa 中的代码几乎相同,因此从development 到qa 进行公关不会产生太多更改(和/或冲突)。
但现在我将所有内容从qa 移动到staging。而qa 代码实际上与staging 完全不同而且是全新的,那么最好的选择是什么?我搜索并看到了这个:
git checkout qa
git merge -s ours staging
git checkout staging
git merge qa
这对我的情况来说是个好主意吗?提前致谢!
编辑:我不想丢失暂存分支的所有提交。
【问题讨论】:
-
由于 qa 和 staging 包含不同的代码更改,您可能会遇到冲突。所以你需要解决并合并它们
-
是的,我要做的就是将staging中的所有代码替换为qa中的代码,并且不想解决冲突,只需像手动逐个文件更改一样替换代码来自 qa 分支文件的代码
-
你可以使用 git merge 强制覆盖,类似的步骤可以看这个链接stackoverflow.com/questions/40517129/…
-
您的要求不明确。请提供提交的具体示例,当前状态以及您最终想要的内容。您也可以尝试这些命令,看看会发生什么。 Git 不会丢失任何东西。
-
是的,在这里使用
merge -s ours是您的最佳选择。您最终将只获得一个分支的快照,但保留两个分支的历史记录。另请参阅stackoverflow.com/q/4624357/112968 以了解可能的重复
标签: git