我的团队使用 git 的功能分支工作流程。
我想以某种方式git pull upstream branchname
将上游仓库中的 a 配置为 always git pull --ff-only upstream branchname
。那可能吗?
如果我可以将整个upstream
仓库配置为只允许--ff-only
拉取,我也会很高兴。
细节
我们的主要集成分支develop
位于主要的上游 repo 中,各个功能分支从开发开始,进行更改,然后提出拉取请求以将功能分支合并回开发。
问题是我们的许多开发人员并不像他们应有的那样精通 git,并且他们不断弄乱本地 repodevelop
的develop
.
他们没有注意到这种分歧。然后他们从他们的 borked 创建一个特性分支develop
,直到他们提出他们的拉取请求才意识到这一点,这突然带来了大量的废话。如果幸运的话,一位精明的审阅者会告诉他们通过变基来清理他们的拉取请求。但是时不时地,一个混乱的拉取请求会被合并回来,这会扰乱我们的上游历史。
解决方法
--ff-only
我对这些新手 git-folks 的建议是在从上游拉取时始终使用该选项,以强制他们的本地develop
分支保持上游 repo 的完美副本。
如果他们的本地副本develop
与上游不同,那么--ff-only
当他们下次尝试拉取时,该选项将向他们大喊大叫。这种大喊大叫将迫使他们解决真正的问题。
但他们是 git-n00bs,所以他们经常甚至不明白我在推荐什么,只是继续把事情搞砸。
我会尝试所有适当的胡萝卜/大棒激励技术(人类!我知道,对吗?),但如果我能以某种方式使用训练轮配置他们的本地存储库--ff-only
,那么我的审查负担就会减轻(我的开发人员将被迫学习更好的 git 技术)。