我的開發商店有一個首選的 git 流程,如下所示:
- 檢查問題分支 (
issue9
)。 - 解決問題(
serve over port 80
)。 - 犯罪 (
git commit
...)。 - 將問題分支合併到本機功能分支(
cal
)。 將本地功能分支推送到
origin
.- 如果可能的話,所有合併都應該快轉。
最後一個限制讓我抓狂——在實踐中,我可以:
- 將問題提交合併到本機功能分支。
- 由於遠端更改,git 拒絕推送到原點。
- 將遠端變更拉取到本機功能分支。
- Git 自動產生一個單獨的合併提交。
或者
- 將遠端變更拉取到本機功能分支。
- 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