-2

我有一个本地版本的 Stash 正在运行,所有本地开发人员都可以访问它。我很难想清楚如何使用它来处理客户的项目。

我需要能够克隆我客户的 git 存储库(将其推送到 Stash)作为参考存储库。我所有本地开发人员的所有开发工作都将针对该参考存储库完成。我想针对该参考存储库进行所有提交,并且一旦所有更改都通过了 QA,然后才将最终代码推送回客户端。出于所有意图和目的,客户不会获得所有的日常提交,只会获得最终产品。

我想要做的,不知道是否可行,是在本地克隆客户端的 repo,并使其成为所有本地开发人员的新来源。完成所有工作后,我只想将最终提交推送给客户端(而不是所有中间提交)。为了让事情变得更复杂一点,我不想使用我的本地克隆存储库作为开发人员的来源,而是想将我的克隆存储库推送到我的本地 Stash 服务器并以此作为来源。

将客户的 repo 移动到 Stash 很容易(我可以登录,克隆 repo,然后将其推送到 Stash)。我不知道该怎么做是如何保持它与客户端同步。即:如果客户端进行更改,我想将这些更改拉入。它是否总是必须保持一个两部分的过程(即:拉更改、变基和推送)?我是否必须在两种不同的工作路径中执行此操作(即:一种用于我的实际开发工作,另一种用于拉/变基/推)?有没有自动化的方式来做这样的事情?

4

1 回答 1

1

埃里克,你应该修改你使用 Git 的方法,让它的使用方式:让每个人都使用他们自己的 git 和遥控器。不要通过添加这些 QA 限制和最终责任将事情推到远程的开发人员的责任来使过程复杂化,因为这只会使事情陷入困境。了解 git 标记和分支,让 QA 也熟悉它。通过这种方式,构建可以为 QA 做好准备,开发人员可以处理不会影响 head 的分支 - 直到它准备好这样做 - 最重要的是,你不会成为监督推送到远程的瓶颈。

关于这个主题的一个很好的阅读是http://pragprog.com/book/tsgit/pragmatic-version-control-using-git

于 2013-07-31T20:09:36.113 回答