【问题标题】:git locally, push to tfs remote repo本地 git,推送到 tfs 远程仓库
【发布时间】:2013-02-21 14:29:48
【问题描述】:

我已经厌倦了向我的队友解释使用 DVCS 而非 CVCS 的好处。他们中的一些人害怕学习曲线,其中一些人看不到任何理由,因为对他们来说:“都是一样的”。就我个人而言,我厌倦了 TFS 及其问题。每次当我需要处理一些小的“修复”时,我都必须在主开发分支上工作并将我的东西搁置一旁,导致与 Git 相比,使用 TFS 进行分支非常痛苦。每次从以太网切换到 wifi 时,我都必须重新连接我的 VPN 客户端,这种情况经常发生。

所以我开始考虑也许我可以在本地使用 Git,并在本地存储库上做任何我想做的事情,到时候将它推送到 TFS。我知道这是可能的,但最好的方法是什么?我可以只 git init 当前的 repo 并将整个 .git 文件夹放入被忽略的列表中,这样 TFS 就不会检查它或者仅仅这样做还不够吗?

在 Visual Studio 的正式更新到来之前,它将同时支持 git 和 tfs,我必须使用一些 hack 来做我想做的事情。

【问题讨论】:

  • 你仍然可以使用官方支持的git-tf
  • 听起来正是我所需要的。唯一的缺点 - 它需要 Java。马上试试。谢谢
  • 正如@DanielHilgarth 所说,您需要 git-tf 或 git-tfs。不过,这与 Visual Studio 的任何官方更新无关,因为您的整个团队无论如何都需要采用 TFS 或 git。如果团队采用了 TFS 并且您想使用 git,那么您总是需要一个桥梁。
  • 好的... git-tfs 比 git-tf 更适合我。当您需要从 tfs 拉取和推送数据时,它会很慢,但除此之外可以!另外我正在使用 VS2012 更新 2(目前它仍然是 CTP,希望他们很快发布它)它通过 Visual Studio Tools for Git 扩展支持 git
  • @Agzam:我很清楚 git 支持。 :) 我的意思是,在这种情况下,如果团队其他成员希望继续使用 Team Foundation 版本控制...

标签: git tfs visual-studio-2012


【解决方案1】:

git-tfs https://github.com/git-tfs/git-tfs 更适合我。易于安装。使用方便。虽然有点慢,但如果你不介意的话,那就完美了

【讨论】:

  • 你能解释一下你是如何让它工作的吗?在这一行:git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project,为什么不是 git-tfs? 快速克隆 - 它是否复制所有文件以获得最新版本,我可以选择不复制任何文件而只获取文件夹结构(如 TFS),然后选择性地获取最新版本吗?我可以只做整个收藏或分支吗?我可以做文件夹吗?如果可以,怎么做? $/some_project 不指向 TFS 文件夹或 Git 文件夹?如果是 TFS,它如何知道使用哪个 Git 文件夹进行输出?
【解决方案2】:

是的,你完全正确——你只需要在 TFS 中处理 .git。一般来说,GIT 所做的一切都保存在 .git 中,因此如果您有办法将其排除在 TFS 之外(最坏的情况是移出然后移回),那么您可以毫无问题地使用 GIT。

请注意,可能还有其他与 GIT 相关的文件需要处理,.gitignore 是最常见的示例。

我已经使用 .git 和相关文件的意识成功地覆盖了 GIT 和 SVN。 (我知道有一个 git-svn 包;但这不适用于我的特定需求。)

另外,请查看:

  git init --separate-git-dir=<other-location-for-dot-git>

您仍然需要处理本地目录中的符号链接,但也许 TFS 问题更容易处理。

【讨论】:

    猜你喜欢
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2014-12-22
    • 2020-01-03
    • 1970-01-01
    • 2013-05-16
    • 2019-06-29
    相关资源
    最近更新 更多