【发布时间】:2012-11-30 13:02:18
【问题描述】:
有没有办法设置主机 Git 存储库,以便从其(本地)克隆完成的任何 git pull 默认使用 --rebase?通过在 StackOverflow 上搜索,我了解到 branch.autosetuprebase,但它需要为每个克隆单独配置。
我的项目流程设置为在 merge 向其添加功能分支之前,我们 pull develop 分支。这个pull 几乎总是使用--rebase,所以我想弄清楚这是否可以成为默认值。
【问题讨论】:
-
你为什么要那个?我认为教用户积极思考哪种情况更合适(基于他们对上游所做的更改或期望的更改幅度)更合理'
-
@JonasWielicki 是的,我同意。只是我的一些团队成员是 Git 的新手,我想知道是否有办法强制执行它以避免在初始阶段出现问题(直到他们学会了它)。该团队还在不同的时区远程工作,这意味着如果出现问题,他们将被困几个小时。只是想知道这是否可能。
-
我认为特别是对于初始设置,最好进行合并。如果你的代码真的有分歧,rebase 会做出更奇怪的事情。您必须一遍又一遍地解决相同的冲突,直到您推动为止。所以如果一个团队成员想要处理一些代码,总是使用 rebase 并且在他完成之前不推送(新人可能会这样做,而不是自己分支),他们将面临他们已经解决 X 次的相同冲突.
-
@JonasWielicki 团队成员确实为他们工作的每个新功能创建一个新分支(他们已经非常了解这一点)。之所以需要 rebase,是因为其他开发人员在他准备好推送他的更改时已经致力于“远程”开发分支。因此,我希望他在推送他的更改之前从远程执行 pull rebase。项目本身已经相当成熟,只是团队是新人。 :) 所以它只是对人的“初始设置”。您对这种情况有何建议?
-
回复您的第一条评论,在大多数情况下(几乎所有),rebase 是正确的选择,因为彻底测试新功能需要花费大量时间等。完成后,肯定会有来自其他开发人员的大量提交。
标签: git