我可以使用 rebase 将提交从 dev 移动到 master 吗?

Posted

技术标签:

【中文标题】我可以使用 rebase 将提交从 dev 移动到 master 吗?【英文标题】:Can i move commits from dev to master using rebase? 【发布时间】:2021-02-28 05:04:28 【问题描述】:

我最近发现了如何使用 rebase 命令。

我有一个 master 和一个 dev 分支,对我来说,当我想将功能 dev 移动到 master 分支时,只需 git rebase dev master 似乎真的很方便。 (避免从 dev 向 master 发出 pull request,然后使用 git rebase master dev 命令(因为 pull request 将 master 1 commit 带到 dev 之前)。

这是一种正确的做法吗?我错过了什么?可能的缺点是什么?

谢谢

【问题讨论】:

【参考方案1】:

一般来说,黄金法则是不要对其他人正在使用的分支进行变基.... dev 和 master 听起来像候选人...除非您是唯一的开发人员并且您知道自己在做什么。

重新定位由单个开发人员开发的功能分支?是的,当然……为什么不呢?在它被合并到任何公共分支之前,没有人会使用它......如果人们在它被合并之前真正开始使用它(它不时发生),应该理解他们的基础分支可能随时移动。

【讨论】:

那么将 dev 分支合并到 master(在 master 上:git merge dev)怎么样?这是一个常用的选项吗? (为了避免拉取请求引起的 master 上的 1 次提交?)

以上是关于我可以使用 rebase 将提交从 dev 移动到 master 吗?的主要内容,如果未能解决你的问题,请参考以下文章

git中merge和rebase

是否可以轻松地将所有提交从一个分支移动到另一个分支作为一个提交? [复制]

Git Rebase 从带有 Squashed 合并的分支

git rebase 另一个分支到我的工作分支

【学了就忘】Git操作 — 62.rebase命令执行原理

Rebase - 功能分支合并到主分支的操作