同时使用git和TFS管理一个代码库是否明智?

同时使用git和TFS管理一个代码库是否明智?,git,version-control,tfs,Git,Version Control,Tfs,我希望能够在办公室里编写一点代码,然后回家在我离开的地方重新编写。当我们使用TFS时,我总是必须通过RDP在我的工作机器上工作。这是次优的,但却是必要的,因为我从来都无法处理TFS的搁置集,所以在回家之前搁置我的更改不是一个选项,显然我不能将不完整的代码检查到主存储库中(我们在TFS中反对分支,所以只在dev和main分支中工作)。在不久的将来的某个时候,我们将转向git。但在那之前,我必须工作 我想我可以从TFS签出到一个同样由git管理的代码库中。然后,在一天/一周结束时,我可以检查我的临时

我希望能够在办公室里编写一点代码,然后回家在我离开的地方重新编写。当我们使用TFS时,我总是必须通过RDP在我的工作机器上工作。这是次优的,但却是必要的,因为我从来都无法处理TFS的搁置集,所以在回家之前搁置我的更改不是一个选项,显然我不能将不完整的代码检查到主存储库中(我们在TFS中反对分支,所以只在
dev
main
分支中工作)。在不久的将来的某个时候,我们将转向git。但在那之前,我必须工作

我想我可以从TFS签出到一个同样由git管理的代码库中。然后,在一天/一周结束时,我可以检查我的临时更改,包括bug,进入git(场外),准备在家里自己的机器上运行。当我完成某项工作时,我首先检查git,然后检查TFS


有人有过这样的经验吗?如果有,你会推荐它吗?

听起来是一种避免使用搁置集的过于复杂的方法

如果您想让它工作:

  • 使用或,在与TFS服务器同步的工作计算机上创建本地git repo
  • 将远程设备添加到连接到异地git服务器(例如GitHub或Visual Studio Online)的工作机git repo中
  • 周五,将未完成的更改添加到分支,并将其推送到VSO/GH回购
  • 然后,在您的家用计算机上,您可以将更改从VSO/GH repo获取到本地repo,在“正在进行的工作”分支中进行更改,然后将其推回到VSO/GH
  • 在工作中,在周一早上,将VSO/GH repo中的更改拉到工作机器的git repo上,完成所有需要的操作,与main/dev代码合并,然后将其推回到TFS中
避免使用TFS已有多年的功能是一个丑陋的解决办法,但它是可行的


您还需要确保work不介意他们的源代码现在位于网络之外的服务器上,但这取决于您的选择。

如果您必须在机器上使用RDP,我不明白Git为什么可以提供帮助。如果您在远程机器上工作,为什么不签入代码呢?我将RDP签入到工作机器上,因为我的工作上下文(文件、工作空间等)是在工作机器上维护的。另一种方法是让我签入我的更改,回家,签出我的更改,编写代码,然后签入所有代码,为我回到办公室做好准备。当然,如果我开始检入不完整的代码,这会影响到我的同事。我从字里行间读到,您的团队希望“大提交”具有完整的功能,而您更喜欢试验代码替代方案,并希望拥有您的私有“嵌套”版本控制系统。搁置集并不好,因为它们只是命名为快照,没有历史深度。这是你的情况吗?是的。我只需要能够在工作中安全地标记我的位置,在另一台机器上恢复它,然后从我离开的地方重新开始。所以我只需要一个快照(或者我上次签入和现在签入之间的差异)。这就是搁置集的用途!你有什么问题吗?我希望搁置集对我有用——上次我使用它们时,我甚至不能看到它们,尽管它们显然没有错误。