【问题标题】:Can Microsoft Visual SourceSafe and GIT work next to each other?Microsoft Visual SourceSafe 和 GIT 可以一起工作吗?
【发布时间】:2021-02-21 10:17:13
【问题描述】:

在我的公司,我们正在使用 Microsoft Visual SourceSafe。

由于这是一个非常古老的系统,我想停止使用它并转而使用 GIT。
网上应该有很多关于如何将整个 SourceSafe 环境转成 GIT 的解释。

但是,我正在与非常不愿意改变的同事和老板打交道,因此,我不想强​​迫他们使用 GIT,而是想在我的工作站上引入 GIT,同时他们可以继续使用 SourceSafe。

这意味着他们可以在源代码存储库上继续使用 SourceSafe 进行版本控制,而我在同一个源存储库上执行相同操作,并且我的更改在他们的工作站上可见,而他们的更改在我的工作站上可见。

这可能吗?如何实现?

【问题讨论】:

    标签: git versioning visual-sourcesafe


    【解决方案1】:

    VSS 不能排除文件夹(as commented 在文章“Source Control: Anything But SourceSafe”中,来自 12 年前,2006 年 8 月,由 Stack Overflow 的同一创建者 Jeff Atwood)。

    这意味着,您不能直接在签出的 VSS 工作区中创建 .git 子文件夹(带有 git init .)。

    另外,正如 Chris Oldwood 于 2013 年在“Migrating from Visual SourceSafe to Git”中所述,并非 Source Safe 中的每个内容都适合 一个 Git 存储库(它应该代表一个组件,而不是一组不同的组件)项目)。
    或者适合任何 Git 存储库(考虑到它是一个源代码控制系统,VSS 可以很好地存储大型二进制文件)。

    但您仍然可以在任何您希望 VSS 签出文件之外的任何地方创建您的 Git 存储库,并将 git 用于:

    set GIT_WORK_TREE=/path/to/VSS/workspace/subfolder
    git status
    git add .
    git commit -m "Import from VSS
    ...
    

    【讨论】:

    • 我认为正在寻找的不仅仅是文件彼此相邻,而是一些翻译层,如git-svn 提供将Subversion repo镜像到git。
    • @IMSoP 不,没有像 SVN 那样的 git-vss。考虑到 VSS 的集中性,这甚至不是一个好的做法:无论如何,您都不希望将完整的 VSS 存储库放入 one Git 存储库。
    • 这个考虑和SVN完全一样;我使用它已经很多年了,但我认为该工具只允许您指定要镜像的 SVN 存储库中的子目录。无论如何,我主要是指出您可能误解了这个问题(除非我这样做了),因为如果您尝试与同事合作,而不仅仅是围绕他们工作,那么 .git 文件夹的位置并不重要。跨度>
    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 2010-11-13
    • 2013-07-09
    • 2016-01-29
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多