即使我没有本地更改,git pull也会创建合并提交

时间:2018-06-12 09:02:54

标签: git

我在Linux系统和mac中使用git。在我的Linux机器上,当我没有本地提交而我只是从源头git pull时,它只是转发到主线中的最新提交。但是,当我在我的mac中执行相同操作时,无论我是否有本地提交,它总是会创建合并提交。例如:

alias gln='git log --graph --pretty=format:'\''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\'' --abbrev-commit --date=relative -n'

原始状态(在Linux和Mac中)

gln 2

* 6b05c11 - (HEAD -> mainline, origin/mainline, origin/HEAD) Original HEAD commit message (1 year, 4 months ago) <User1>
* f8cf2ee - Very old commit message (1 year, 8 months ago) <User1>

Git pull in Linux (只是转发,没有合并提交)

gpl
gln 4

* ef1d887 - (origin/mainline, origin/HEAD) Remote commit message 2 (9 weeks ago) <User2>
* 190df9c - Remote commit message 1 (9 weeks ago) <User2>
* 6b05c11 - Original HEAD commit message (1 year, 4 months ago) <User1>
* f8cf2ee - Very old commit message (1 year, 8 months ago) <User1>

Git pull in Mac ,它拉动&amp;创建合并提交

gpl
gln 5

* 254b0c7 - (HEAD -> mainline) Merge branch 'mainline' of ssh:......../MyPackage into mainline (7 seconds ago) <Myself>
|\  
| * ef1d887 - (origin/mainline, origin/HEAD) Remote commit message 2 (9 weeks ago) <User2>
| * 190df9c - Remote commit message 1 (9 weeks ago) <User2>
|/  
* 6b05c11 - Original HEAD commit message (1 year, 4 months ago) <User1>
* f8cf2ee - Very old commit message (1 year, 8 months ago) <User1>

现在,我总是要做&#39; git rebase -i&#39;在我的Mac之后,每次拉动以摆脱合并提交(它只是显示一个noop消息并立即进行rebase)。

[问题] 是否有任何配置我可以更改以使我的mac git行为类似于我的linux git行为?

1 个答案:

答案 0 :(得分:0)

发现问题&amp;得到了Can I make fast forwarding be off by default in git?&amp; drRobertz评论。

前一段时间我在我的Mac .gitconfig中添加了以下行(不知道是为了什么)。这导致了这个问题。

[branch "mainline"]
    mergeoptions = --no-ff

删除它之后,我的git pulls正在工作而不添加合并提交(当我没有本地更改时)。