如何实现线性 git flow?

如何实现线性 git flow?

我的开发商店有一个首选的 git 流程,如下所示:

  1. 检出问题分支(issue9)。
  2. 解决问题(serve over port 80)。
  3. 犯罪 (git commit...)。
  4. 将问题分支合并到本地功能分支(cal)。
  5. 将本地功能分支推送至origin

    • 如果可能的话,所有合并都应快进。

最后这个限制让我抓狂不已——实际上,我可以:

  1. 将问题提交合并到本地功能分支。
  2. 因此,由于远程更改,git 拒绝推送到原点。
  3. 将远程更改拉至本地功能分支。
  4. Git 自动生成单独的合并提交。

或者

  1. 将远程更改拉至本地功能分支。
  2. Git 自动生成单独的合并提交。

是否有可以在全局/本地 git 配置中调整的设置来实现此行为?当我尝试执行此操作时,我最终弄乱了 git,并且不得不运行四个或五个 git 命令来清理它。

我只是想emacs && git commit && git checkout cal && git merge issue9 && git push origin cal,你知道吗?

答案1

对于一次性拉动,您可以使用git pull --rebase

$ git commit
$ git checkout cal
$ git merge issue9
$ git pull --rebase
$ git push origin cal

要将 git 配置为总是以这种方式运行git pull,请使您的~/.gitconfig外观如下所示:

[push]
    default = matching
[branch]
    autosetuprebase = always
[color]
    status = auto
[merge]
    ff = true

相关内容