除了拉动时,Git总是在没有快进的情况下合并?

Ric*_*an7 10 git version-control github git-config

有没有办法让git总是在没有快进的情况下合并,除了拉动时?

遵循一个很好的git-flow,我喜欢保留我的分支历史记录(稍后更容易删除功能等),所以我将配置设置为在合并时永远不会快进,如下所示:

git config --global merge.ff false
Run Code Online (Sandbox Code Playgroud)

但是,每当我从远程更新当前分支/ pull时,它都会创建一个合并提交...这实际上很严重,尤其是在GitHub上分配其他项目时.

无论如何git pull 总是要快速前进吗?不幸的是,我尝试过:

git pull --ff-only upstream master
Run Code Online (Sandbox Code Playgroud)

...只是为了看它吐出一个错误:

fatal: You cannot combine --no-ff with --ff-only.
Run Code Online (Sandbox Code Playgroud)

我真的厌倦了看到这个:

Gross:一个

hta*_*ata 10

你可以试试这个:

git pull --rebase upstream master
Run Code Online (Sandbox Code Playgroud)

这将在上游提交之上重新设置您的提交.

以下是它的作用的说明.

您的本地存储库:

* bbbbbbb (HEAD, master) My changes.
* aaaaaaa Initial commit.
Run Code Online (Sandbox Code Playgroud)

上游存储库:

* ccccccc (upstream/master) Their changes.
* aaaaaaa Initial commit.
Run Code Online (Sandbox Code Playgroud)

之后git pull --rebase upstream master:

* bbbbbbb (HEAD, master) My changes.
* ccccccc (upstream/master) Their changes.
* aaaaaaa Initial commit.
Run Code Online (Sandbox Code Playgroud)