如果没有人合并远程分支,rebase 是否安全?

问题描述 投票:0回答:1

我想推动我的个人本地分支与我的同行一起进行代码审查。我的同行不会合并这个分支。代码审查后,我想在 master 分支中 rebase 我的个人分支,并推送 master 分支。安全吗?

Pro Git 书 说:

不要对存储库外部存在的以及人们可能已经进行过工作的提交进行变基。

我希望这不会成为问题,因为没有人基于这个分支进行工作。我说得对吗?

git git-branch git-rebase git-remote remote-branch
1个回答
0
投票

这句话有点混乱,使用前需要非常清楚

git rebase

代码审查后,我想在master分支中rebase我的个人分支,并推送master分支。

正常的措辞是“rebasebranchAontobranchB”。这真正的意思是“创建分支 A 的新版本,就好像你是从分支 B 开始开发它的”。

此操作分支 B 未更改

我之所以要讨论这个问题是为了弄清楚警告的含义:

不要对存储库外部存在的以及人们可能已经进行工作的提交进行变基。

您要变基的提交是分支 A - 由于变基而将要更改

的分支。

所以有两种截然不同的场景:
  • “我想将某些个人分支重新设置为主分支,然后将某些个人分支推送到 GitHub/BitBucket/任何地方” - 这可能没问题:没有人会在某些个人分支上进行基于的工作
  • “我想将 master
  • 放到某个个人分支上,然后将 master 推送到 GitHub/BitBucket/任何地方” - 这几乎肯定是不行:你的同事可能有 基于 master 的工作,以及其他东西会变得混乱

我喜欢使用的一个简单的经验法则是“谁拥有这个分支?”

    我拥有的分支是用于我独自完成的任务的分支;我应该可以安全地用它做我喜欢做的事情 - 变基、修改提交等
  • 如果这是
  • 别人拥有的分支,除了查看它之外我不应该对它做任何事情 - 我什至不应该在它的基础上进行任何工作
  • 如果这是人们工作的共享分支,
  • 没有人拥有它,并且像git rebase
    、修改提交等命令应该只在罕见的“紧急”情况下使用
© www.soinside.com 2019 - 2024. All rights reserved.