git-tfs 克隆和清理

git-tfs clone and cleanup

我已经从 VSTS 克隆了我的 TFVC,它没有任何错误地提取了我所有的分支。然后我关注了一些在线帖子,这些帖子说通过执行以下操作来清理我的项目:

  1. 从解决方案文件中删除 GlobalSection(TeamFundationVersionControl) 部分
  2. 删除所有 *.vssscc 文件
  3. 删除所有 *.vspscc 文件

当我这样做时,我几乎所有的文件都显示在团队资源管理器下的更改 window 中。除了前面讨论的文件外,所有这些文件在执行 diff 时都没有变化。

从 TFVC 克隆到 git 后清理分支的正确方法是什么?

谢谢

如果您想将现有的 TFVC 存储库迁移到 Git 存储库,您只需使用几个命令即可使用 git-tfs tool, which allows you to migrate a TFVC repo to a Git repo

在我的示例中,使用以下命令,我已成功将现有的 TFVC 存储库迁移到包含所有分支的 Git 存储库。

如果不想克隆分支,可以指定--branches=VALUE(VALUE=none|auto|all),勾选https://github.com/git-tfs/git-tfs/blob/master/doc/commands/clone.md

When I do this I get almost all of my files showing up in the Changes window under Team Explorer. All of these files have no changes when doing a diff

那应该是因为行尾设置错误...

except for the files discussed earlier.

首先提交它们...

然后修正您的设置。

您有 2 个选项(不是互斥的,您可以执行第 2 个。但如果您只执行一个,则执行第 2 个):

  • (旧样式),设置 git core.autocrlf 设置。在 windows 上,要么 true 将所有文件转换为 windows eol 样式,要么 false 告诉 git 不要触摸文件。这是一个选择问题。此设置将用于您的所有存储库,但将是个人的
  • (推荐新的)添加一个 .gitattributes 文件来告诉 git 如何处理所有类型文件的 eol。此设置将仅用于此存储库,但将由所有开发人员共享,任何人都无法提交错误文件。

请注意,对于您要尝试的所有策略,要确保它有效,您必须做一些特别的事情。您将必须擦除所有文件并从存储库中检出所有文件(因为那是 git 修改文件的特殊时刻):

git checkout .

事实上,有可能文件被修改了,因为它们已经以您希望的格式签出,所以提交它们(您将有义务)并应用 eol 策略,就在...

一个 good doc on the subject 在尝试某事之前你应该仔细阅读并理解...

PS:在 git 存储库中处理行尾不是一件容易的事,这将花费您相当长的时间,并且您将不得不尝试很多事情才能真正理解如何它有效(我自己也不太确定;))