从IntelliJ IDEA进行Git push --force

53

似乎在推送对话框中已经移除了force选项。我目前正在使用IntelliJ IDEA 13.1.1,但我找不到任何方法来使用force选项进行推送。我尝试搜索文档,但貌似在版本10中仍存在force选项。您知道如何从IntelliJ IDEA使用force进行推送吗?


如果他们删除了它,你就不能做了。这也是为什么一个人应该远离不是控制台的Git前端的另一个原因。更多原因请参见http://stackoverflow.com/a/21188318/520162。 - eckes
谢谢,这对我来说很好用,因为我已经使用Git很长时间了,但这对其他团队成员来说并不是开箱即用的,因为他们目前只在学习如何使用Git。从经验上讲,IntelliJ为我们提供了漂亮的UI,在那里新团队成员可以快速学习要做什么和记住命令。我们只需要在重置功能分支时按下推送强制按钮。 - Jiri Peinlich
3个回答

60

自 IntelliJ IDEA 14 版本更新以来,可以启用一个复选框来实现这个功能,但首先必须在“设置”->“版本控制”->“Git”中启用“允许强制推送”。

2018 年更新:要在 主分支 上允许 强制推送,请在 Git 设置中查找“受保护的分支”-> 然后删除值“master”。


40
issue 85773而言,这个选项不应该在GUI中出现(适用于IDEA 11-12或13+)。
当处于主分支时,它将被禁用。

这就是为什么issue 76252提倡在git控制台中能够输入git命令的原因:这样,您仍然可以执行正确的命令,而无需离开IDE。


2014年11月更新,适用于IntelliJ 14(不会向后兼容至13):

要启用此功能,用户必须在“设置|版本控制|Git”中选择“允许强制推送”。

为了提供额外的保护,我们在那里添加了一个配置选项,用于指定“受保护”的分支列表,即不允许强制推送的分支。
该值保存在.idea/vcs.xml中,因此可以在团队之间共享。


更新于2018年3月:线程“Intellij 2018.1 force push”提到:
当保护分支被选为Push对话框中的目标时,强制推送选项将被禁用。 如果您推送到其他分支,则可以使用Force Push选项。 Git设置帮助页面详细介绍了以下内容:
受保护的分支 如果要禁用某些分支的强制推送更改功能,请在此处列出它们(这是一个团队共享参数,存储在.idea/vcs.xml中)。 您可以列出几个由分号分隔的分支,或者提供分支模式作为输入,因为输入被视为正则表达式列表。
因此,要能够强制推送到master,您需要从受保护的分支列表中删除master。

1

我一直在苦苦努力地推送我的代码,但当我按下 GitHub 的 Push 按钮时,发现可以将命令从 Push 改为 Force Push

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接