是否可以将git配置为压缩合并,但不能将拉幅更改为压缩?如果可能,我将如何以这种方式配置git?
我通过git config branch.<name>.mergeoptions --squash
虽然这适用于压缩来自合并分支的提交,但它也会尝试在执行拉取时压缩传入的更改。
答案 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'