如何使用“git rebase”(不破坏提交历史)?

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

我目前正在学习 git rebase 的强大功能,但我也意识到它的潜在危险。

现在看了很多网上的资源,真的很迷茫:

首先,我读了“永远不要在公共分支上变基”的建议,但与此同时,我读了另一条建议“git pull --rebase”(git pull --rebase on public branches)不危险。这不是自相矛盾吗

现在,我想在这里考虑两种可能的情况:

1。作为单独的开发人员在私有功能分支上进行开发

在这种情况下,我总是可以执行“git rebase master”以从主分支获取新更改,而无需更改/破坏提交历史记录。 关于“git pull --rebase”,我认为这个用例没有必要。

2。与其他开发人员在公共功能分支上开发

这个对我来说似乎很棘手。据我所知,“git pull --rebase”应该不是问题,因为只会更改我本地提交的哈希码。

但是,在公共功能分支上执行“git rebase master”怎么样?这对我的同事/公众提交历史有危险吗?

最后,作为最后的安全机制,我试图想出一些规则来帮助我在变基时保持安全:

规则 1:只要我不必“强制推送”,我的 rebase 一切都很好,我没有破坏提交历史。

规则 2:只要我没有更改公共(已推送)提交的哈希码,我的 rebase 一切都很好,我没有破坏提交历史。

我不太确定规则 1,但我认为规则 2 是正确的(这里的问题是如何检查该规则)。

git rebase
© www.soinside.com 2019 - 2024. All rights reserved.