Git merge 策略

标签 git github

我们在 Github 上托管了一个项目,其主要开发分支称为“Master”。 一些开发人员倾向于将项目分支 merge 到Master中。而其他人则倾向于将 Master merge 到项目分支中。

在我看来,前者遵循标准协议(protocol)。后者根本就没有意义。我只是偏执,还是真的有影响?

为了复合,项目分支将与 merge 的主分支一起推回 github

对于那些将 Master merge 到项目中的人来说,争论的焦点是他们需要 Master 的最新副本。我的答案; merge 与它有什么关系?也许是为了获取其他人引入并 merge 到 master 中的更改?

这个过程不应该是: 1) checkout 师傅, 2) git fetch 或 git pull

最佳答案

对于开发人员来说,时不时地将主分支 merge 到他们的项目分支中是完全有意义的,以确保他们不会做一些一旦 merge 就无法工作的事情。这通常发生在他们的本地存储库中。

然后,当他们完成新功能后,他们会将其 merge 到 master 中,然后推送,这会将该功能添加到公共(public)存储库的 master 分支中。或者他们只是将其功能分支中的内容推送到公共(public)存储库的主分支。

git fetch 只是一种从远程获取存储库的方法。它根本不会进行 merge 。 git pull 会做同样的事情,但还包括 merge 。

因此,您建议的过程最多只会将公共(public)主分支的更改与本地主分支 merge 。然后,开发人员仍然需要将其本地(现在是最新的)主分支与其功能分支 merge ,否则他们将无法执行上述健全性检查。

关于Git merge 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171371/

相关文章:

git - 如何更改 Git 的默认编辑器

git - 如何使用命令行在Gitlab中创建本地仓库和远程仓库?

git - 触发快照依赖以在 TeamCity 中构建特定分支

git - 我在一个 url 上添加了多个 git 远程名称,如果我推送会发生什么?

git - git 克隆密码存储或缓存在哪里?

git - git update-index --assume-unchanged 规则会在 pull 时传播给客户端吗?

git - 有没有办法使用 AWS S3 备份所有 GIT 存储库?

git - 从远程 git 存储库中查找最新的 git 标签

github - Atom 编辑器中的 Git 责备

git - 无法在 Windows 8 上克隆存储库