Git是保持多个遥控器同步的正确方法吗?
这是设置。我有一个主要的github存储库,我将其称为Git是保持多个遥控器同步的正确方法吗?,git,github,branching-and-merging,Git,Github,Branching And Merging,这是设置。我有一个主要的github存储库,我将其称为team/repo,还有一个分支,我将其称为me/repo。在me/repo上,我对功能分支做了一些更改(还有一个master分支),并在team/repo中创建对develop分支的拉取请求。从team/repo中的develope分支(包括我刚才提出的拉取请求)到me/repo上的master分支获得所有更改的正确方法是什么?实际上,没有“正确的方法”,不同的团队只采用不同的策略/流程 Gitflow分支管理模型? 听起来你可能在遵循分行
team/repo
,还有一个分支,我将其称为me/repo
。在me/repo
上,我对功能
分支做了一些更改(还有一个master
分支),并在team/repo
中创建对develop
分支的拉取请求。从team/repo
中的develope
分支(包括我刚才提出的拉取请求)到me/repo
上的master
分支获得所有更改的正确方法是什么?实际上,没有“正确的方法”,不同的团队只采用不同的策略/流程
Gitflow分支管理模型?
听起来你可能在遵循分行管理的模式。在Gitflow下,您有一个主分支,它是一个半不可接触的提交集,表示已发布代码的永久副本。您还有一个活动的开发
分支(可能不止一个)、发布
分支和功能
分支
同步叉子
由于您有一个回购分支,这也在Github上(如果我理解正确的话),然后您的PC上也会有一个本地回购。通常,您会将该分支(me/repo
)设置为标准的origin
remote,然后将原始的team/repo
设置为一个称为上游的远程。当您想要更新fork时,您可以从团队repo(上游
)下拉,然后将这些更改推送到fork(原始
)。如果此部件有任何问题,请参阅
您可能已经有了所有这些设置-不清楚。如果不是这样设置的,以下内容可能会偏离目标
如何从A变为B?
现在是答案的核心-如何从local/fork
(到team/repo
(或upstream
,原始的团队中央回购)获得更改
首先,考虑叉是必要的。它可能是,但除非存在信任问题,或者这是一个大型分布式(可能多组)项目,或者开源,叉可能不需要。如果可以,只需在“代码>团队/RePO < /代码>中直接工作在一个特征分支中,避免了叉的复杂性增加。
假设需要fork,您可以使用功能
分支,并对开发
分支上的团队/回购
执行拉式请求。这很好,并将您的更改作为一系列提交中的重基,或作为组合的单个提交,放入开发分支
从这里开始,这完全取决于您的团队的工作流程,即如何/何时更改到master
。如果开发遵循Gitflow,则无需立即转到master
。您应该将功能分支出开发
,而不是master
。之后您的PR进入develope
,然后只需将新的develope
提交到您的本地回购中,然后推到您的分支,或者创建一个新的功能
分支,或者继续使用现有的功能
分支,直到需要下一个PR
最终,团队将把develope
提交合并到master
,其中一些可能也会在release
分支中结束。如果是这样的话,可能会有一段时间你需要分支master
或release
分支,而不是develope
,但新功能应该是bra关闭develop
,而不是master
(develop
将合并到master
,并将其分离)
您的团队可能会以不同的方式处理此问题,但这应该让您了解它的工作原理,并允许您提出正确的问题。主要的一点是,这里不一定存在问题,您的更改需要立即进入master
。如果他们将其放入master
,您仍然会从u中将其下拉pstream
,但您可能需要签出本地主机
,并将其合并到上游/master
以快速前进,然后将其推到您的分支