如何做線性git串流?

如何做線性git串流?

我的開發商店有一個首選的 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

相關內容