我在很多ColdFusion项目上工作,这些项目都安装在一个Web服务器上.我最近在SO上被其他人" 展示了光明 ",并希望转向开发人员机器/测试机器/生产机器开发方法.
我现在正在努力调和如何最好地处理我(以及我们机构中的其他人)'被迫'工作的方式......
假设我们的网络服务器设置如下
-Root
--Project 1
--Project 2
--Project 3
--Framework Files
Run Code Online (Sandbox Code Playgroud)
我们还说我们已经设置了一个中央git存储库,并且我有一个我正在使用的根的克隆.该组中的所有其他开发人员也拥有自己的存储库副本.
所以 - 这是星期一早上,我已经开始研究项目1.我正处于估计的4小时功能请求的中间,我的八个不同老板中的一个进来告诉我有一个关键问题需要在项目2中修复.星期一是一个很好的开始.
我需要修复Project 2 STAT,但我还没有完成Project 1的功能请求.如果我在Project 2中修复,然后提交到我的本地存储库以进行测试......它将包括P1中未完成的功能......这很糟糕.
如果我从Joel Spolsky的Mercurial Init Architecture页面推断,是否为每个子项目创建存储库的'dev'克隆的解决方案?要提交那些,然后提交到主本地存储库,然后提交到主共享存储库?
我缺少Git中的另一个概念吗?
谢谢大家,克里斯
你错过了这个stash功能,它让你"收起"未完成的作品,然后再回到它.此功能允许您使用"脏"目录 - 您在上次提交后修改了文件,但尚未准备好进行提交 - 并保存更改而不进行提交.该目录将返回到它查看上次提交的方式,您的更改由git保存.用法非常简单......从上面的链接中,您可以使用以下命令保存您的工作save:
$ git stash save "work in progress for foo feature"
Run Code Online (Sandbox Code Playgroud)
你可以使用apply以下方法恢复你的工作:
$ git stash apply
Run Code Online (Sandbox Code Playgroud)
另一个问题是您将所有项目都放在一个仓库中.虽然这不是最佳实践,但可以使用子模块来解决,这实际上允许您在单个总体存储库中拥有多个存储库.上面的链接是关于如何使用子模块的一个很好的资源,在这里有很多有用的帖子讨论如何使用它们.
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |