gpt4 book ai didi

git - 如何测试是否允许强制推送?

转载 作者:太空狗 更新时间:2023-10-29 14:43:08 25 4
gpt4 key购买 nike

如果我想编辑已经推送到远程的过去的提交,我如何测试是否允许我在不实际更改任何内容的情况下强制推送?

要编辑过去的提交,我通常使用 git rebase -i HEAD~N 然后将 pick 更改为 edit 我想做的地方变化。如果我这样做并且后来意识到我不允许强制推送,我需要重置我的工作区(我想避免这种情况,因为我对提交所做的更改将会丢失)。

我知道对已经推送的提交执行此操作可能是不好的做法。

有没有办法在我实际进行 rebase 之前对此进行测试?

最佳答案

唯一完全可靠的测试你是否有权做 X(对于一些任意的 X,通常甚至与 Git 无关)是尝试做 < em>X 看看是否成功。 “测试是否允许X,然后执行X”的根本问题是答案可能会在测试和尝试之间发生变化。 (一些系统确实可靠地支持请求权限优先,但大多数系统不支持:大多数系统给你的答案在你得到它时就过期了。)

就是说,Git 的强制推送权限是由 other Git 决定的,除了试一试之外别无他法!最接近询问另一个 Git 的方法是询问另一个系统关于它的 Git,以某种其他系统特定的方式。最好的办法可能是创建一个临时分支,强制推送到它,然后删除它。如果强制推送步骤成功,那么您就知道您至少有权在那一刻强制推送到那个分支。

由于像 GitHub 这样的常见主机站点允许管理员“锁定”或“保护”某些特定分支。这是如何工作的,以及谁拥有什么权限的细节取决于那些托管站点。 Here is the GitHub page on their branch restriction options.

关于git - 如何测试是否允许强制推送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com