本地git,推送到tfs远程仓库

iLe*_*ing 14 git tfs visual-studio-2012

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

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

直到Visual Studio的官方更新,这将支持git和tfs,我必须使用一些hacks来做我想要的.

iLe*_*ing 8

git-tfs https://github.com/git-tfs/git-tfs对我有用.易于安装.使用方便.虽然有点慢,但如果你不介意 - 工作得很完美


GoZ*_*ner 5

是的,你完全正确 - 你只需要在TFS中处理.git.一般来说,GIT所做的一切都是用.git维护的,所以如果你有办法让它远离TFS(最坏的情况是移出然后再移回)那么你可以毫无问题地使用GIT.

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

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

另外,请看:

  git init --separate-git-dir=<other-location-for-dot-git>
Run Code Online (Sandbox Code Playgroud)

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