5

我是一个希望迁移到 Git 的 SVN 用户。我整天都在阅读文档和教程,但我仍然有未解答的问题。我不知道这个工作流程是否有意义,但这是我的情况,以及我想从我的工作流程中得到什么:

  • 多个开发人员,都在他们的工作站上进行本地开发
  • 网站的 3 个版本:Dev、Staging、Production

这是我的梦想:

开发人员在他自己的分支上本地工作,比如“developer1”,在他的本地机器上进行测试,然后提交他的更改。

另一个开发人员可以将这些更改下拉到他自己的分支中。合并开发者 1 -> 开发者 2。

当作品准备好被公众看到时,我希望能够“推动”开发、登台或生产。

git push origin staging 

或者可能

git merge developer1 staging

我不确定。就像我说的,我还是 Git 新手。

以下是我的主要问题:

  • 我的网站(开发、登台、生产)必须是存储库吗?他们是否必须“赤裸裸”才能成为新变化的接受者?

  • 我想要一个存储库还是多个具有多个分支的存储库?

  • 这是否有意义,还是我走错了路?

我已经阅读了很多教程,所以我真的希望有人可以帮助我解决我的具体情况。非常感谢!

4

3 回答 3

3

我推荐阅读的一篇文章是一个成功的 Git 分支模型。它解决了您描述的情况以及更多情况。

于 2011-02-03T23:03:36.993 回答
0

记住分布式。与 subversion 不同,您的开发人员的结帐是他们自己的独立存储库,而不仅仅是工作副本。在他们的正常工作流程中,他们会将更改提交到自己的存储库,创建和操作个人分支等。git push可用于将提交从本地分支传输到您的“主”原始存储库(可能驻留在虚拟主机上)。因此,每个开发人员都将拥有本地的个人仓库,其中包含他希望的任何一组分支;原始存储库将具有三个提到的分支。开发人员有时会git pull从原始仓库(进入某个本地分支)和git push他们自己的工作到适当的原始仓库分支。

于 2011-02-03T23:23:21.803 回答
0

正如@Greg 建议的那样,遵循 nvie 的成功 Git 分支模型是一个好主意。从那里,我建议阅读有关如何在网站上使用 git 并尝试在考虑分支模型的情况下实现它。

简而言之:

  • 按照 git 分支模型到 T
  • 设置您的系统以允许 git 以第二篇文章建议的方式将您的发布分支推送到您的登台服务器
  • 按照相同的登台服务器设置,设置 git 以将主分支推送到生产服务器
于 2011-11-20T08:26:05.743 回答