用另一个分支完全替换分支

nic*_*ick 8 git

我有 3 个分支:developmentqastagingdevelopment我在和中都有几乎相同的代码,因此从到qa进行公关不会产生太多更改(和/或冲突)。developmentqa

但现在我把所有的东西都从 搬到qastaging。而且qa代码实际上与 完全不同并且是新的staging,那么最好的选择是什么?我搜索并找到了另一个答案

git checkout qa
git merge -s ours staging
git checkout staging
git merge qa
Run Code Online (Sandbox Code Playgroud)

这对我的情况来说是个好主意吗?提前致谢!

编辑:我不想丢失暂存分支的所有提交。

Gaë*_*l J 19

如果你想“完全替换”,我会选择git reset

git checkout staging
git reset origin/qa --hard
Run Code Online (Sandbox Code Playgroud)

这将使staging内容完全相同,qa 但这将“删除”可能已完成的提交staging(提交将不会被删除,但它们将不再在历史记录中可见staging)。