【问题标题】:Prevent git from automatic commit after merge: --no-commit by default防止git在合并后自动提交:--no-commit 默认
【发布时间】:2011-12-07 01:39:11
【问题描述】:

我最近从 bzr 切换到 Git,虽然我已经习惯了这些差异,但我想知道一件事是否可行:

在 bzr 中,合并时没有隐式提交。这背后的原因是,虽然合并在技术上可能是成功的,但它可能在上下文上并不正确,即。并不是所有的单元测试在合并后都通过了,所以我可能需要修改一些东西才能“正确”合并。

我阅读了 Git 文档并认为我可以使用别名来做到这一点,但它不起作用:

[alias] 
merge = 'merge --no-commit'

虽然我可以为 no-commit-merge 单独命名,但我宁愿将其设置为默认行为。

其他人建议我在重新合并之前与 master 'rebase'。这将创建一个快进合并,并让我有机会在将其变为主线之前根据上下文测试更改,但我宁愿避免尽可能地变基。

那么,是否可以将默认合并行为更改为 --no-commit?

【问题讨论】:

标签: git merge commit config


【解决方案1】:

您可以使用no-commit 标志适当地设置branch.<name>.mergeoptions 配置,以便它默认执行此操作:

branch.<name>.mergeoptions

设置合并到分支<name> 的默认选项。语法和 支持的选项和 git merge 一样,但是选项 当前不支持包含空格字符的值。

【讨论】:

  • 是否可以为每个存储库中的所有分支全局设置?
  • @darkestfright - 这是我能找到的唯一东西。您当然可以使用全局配置应用到所有存储库,但我想您必须为各个分支提供。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2012-01-24
  • 2021-12-05
  • 1970-01-01
  • 2015-01-05
  • 2012-03-24
相关资源
最近更新 更多