【问题标题】:Adding Git repository to Perforce depot将 Git 存储库添加到 Perforce 库
【发布时间】:2013-01-24 09:26:43
【问题描述】:

我正在尝试将已签出的 Git 存储库添加到我的 Perforce 库。不要误解我的意思:Git 和 Perforce 之间没有集成,我只是想在那里放置一个外部 Git 存储库,以便我可以像 Git 存储库一样访问它,并像往常一样使用拉/推和其他 Git 操作。

在 .git 文件夹中,我提交了除 TortoiseGit 特定文件和 hooks 文件夹之外的所有内容。

但是,当我将该 Git 存储库下载到另一台 PC 上的 Perforce 工作区时,git status 告诉我'atal: Reference has invalid format: 'refs/remotes/origin/master。所有四个名为 master 的文件看起来都不错,例如文件 .git\refs\remotes\origin\master 包含一个提交哈希,后跟一个 Windows 换行符。

我做错了什么?

【问题讨论】:

    标签: git perforce


    【解决方案1】:

    好的,那是相当明显的。 Perforce 很愚蠢,默认情况下会自动转换行尾。见here。可以在高级工作区选项中更改。

    Git 不喜欢 .git/* 文件中的 Windows 样式换行符,更糟糕的是,例如,如果所有源代码都有 LF 换行符并且 Perforce 将它们转换为 CRLF,那么您的整个 Git 工作树将被标记为已修改。耶! (当然,像 Git 这样的优秀 VCS 会为您提供“按原样签出,按原样提交”选项,这是唯一有意义的选项。)

    【讨论】:

    • 如果您在 Linux 和 Windows 中工作,这是来自 Perforce 的一个方便的东西。我总是在 Windows 上设置为共享:将文件转换为 CRLF,但将它们存储为 LF。
    猜你喜欢
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2015-06-06
    • 2014-01-07
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2017-02-25
    相关资源
    最近更新 更多