配置git来压缩提交,而不是拉取

时间:2012-12-04 15:09:30

标签: git

是否可以将git配置为压缩合并,但不能将拉幅更改为压缩?如果可能,我将如何以这种方式配置git?

我通过git config branch.<name>.mergeoptions --squash

配置了git

虽然这适用于压缩来自合并分支的提交,但它也会尝试在执行拉取时压缩传入的更改。

2 个答案:

答案 0 :(得分:2)

在每个项目的〜/ .gitconfig或.git / config中。

...
[alias]
    ms = merge --squash

编辑:根据git-config联机帮助页,无法覆盖内置命令。更新了答案,建议单独使用此命令。

  

git(1)命令包装器的命令别名 - 例如定义之后   “alias.last = cat-file commit HEAD”,调用“git last”是   相当于“git cat-file commit HEAD”。为了避免混淆和   脚本使用的麻烦,隐藏现有git命令的别名   被忽略了。参数由空格分隔,通常是shell引用   并且支持转义。引号对和反斜杠可以用来   引用它们。

答案 1 :(得分:0)

我认为您需要执行git fetch然后git merge --no-squash来执行您想要的操作。或者,如果你想在一个命令中执行它,那么一个简单的git别名(或bash别名或函数)就足够了:

  

git config alias.pull-no-squash'!git fetch; git merge --no-squash'