将Git与Visual Source Safe 6.0一起使用

时间:2009-12-14 21:59:11

标签: git visual-sourcesafe

对不起这个可怕而可怕的问题..但是我没办法不使用VSS。

我希望能够在使用Visual Source Safe 6时在本地使用Git进行分支开发等。我对Git的所有细节的了解目前是有限的,因为我是最近转换的。

问题:
我希望能够做的是在Git存储库中工作。我想这样做,并获得所有这些将允许分支等的好东西。在我的一天结束时,或在其他需要的时刻,我希望能够采取我正在做的任何工作并放置它进入主存储库,然后放入VSS。

理想情况下,在工作日的开始我会得到VSS的最新版本..将此提交给Git ..然后在备用分支上工作,当我需要提交VSS时将更改重新置换为主。

由于我是一个相对的新手,可能是实现这一目标的最佳方式..以及发布/设置此方法的最佳命令。

*注意:Source Safe需要检出文件,然后才能对其进行更改。也许我可以使用一些工具/脚本来帮助自动化将更改推回到VSS中?

3 个答案:

答案 0 :(得分:10)

您正在考虑的设置应该可以正常工作。对于git命令,请查看教程。

我使用的工作流程(不是VSS,但概念是相同的)是这样的:

  • 从主要结账(即VSS)
  • 保留一个与VSS同步的“trunk”分支
    • 将始终保持清洁
  • 开发从“trunk”分支的分支
  • 从VSS更新:
    • 切换到“trunk”
    • 使用VSS更新
    • git提交更改
    • 修改从trunk
    • 分支的分支
  • 将更改推送到VSS:
    • 将更改从开发分支推送到“trunk”
    • 切换到“trunk”
    • VSS提交更改

答案 1 :(得分:2)

任何坚持使用VSS的人如果必须处理分支机构,可能会发现以下帖子很有用:

http://timwise.blogspot.com/2011/11/multiple-working-folders-for-git-on.html

它基本上使用SysInternals' Junction来获取Windows中的符号链接支持,然后通过复制.git文件夹中的文件和sym链接文件夹来共享VSS强制您的物理分支文件夹之间的git仓库

以下是自动化共享的脚本

答案 2 :(得分:0)

我也陷入了这种状态,我这样做的方法是不让别人触摸我的VSS并且一直检查所有文件,这意味着没有其他人可以贡献,所以这自然不是一个可行的解决方案大家。 我建议的解决方案是你:

  • 来自VSS的Chekout
  • 创建分支以处理您的功能
  • 完成您的功能
  • 切换到主分会
  • 更新最新的VSS
    • 如果进行了任何更改,请重新分支您的分支
  • 使用$ git diff --name-status master..branchName查看更改了哪些文件(请参阅Showing which files have changed between two revisions了解相关信息来源)
  • 使用VSS检查更改的文件
  • 将您的分支合并到主分区(最好删除您的功能分支)
  • 致力于VSS

其中一些你可能能够以自己的方式编写脚本,但由于你最有可能使用M $(因为你使用的是VSS),这不是我可以帮助你的。

VSS的工作方式我认为最好尽量减少从VSS中检出文件所花费的时间,因此这是一种更好的方法。

请注意,更新文件时可能会出现一些问题,因为VSS会自动在未检出的文件上设置只读标志。这里可能需要解决方法。