将 git-tfs 与多个 Git-用户一起使用
Use git-tfs with multiple Git-users
此处使用的官方 SCM 是 TFS。我对本地开发分支使用 git-tfs to be able to work. Other devs here at the local branch of our company use StarTeam(是的,那里有比 TFS 更糟糕的 SCM)。现在,我们中的一些人正在考虑从 StarTeam 迁移到 Git 以进行本地开发。
将 git 与 tfs 结合用于多个用户的最佳方式是什么?
我的最佳创意:
- 一个中央服务器拥有 TFS 存储库的 1:1 副本(通过 git-tfs,每个脚本大约每小时同步一次)
- 从此服务器开发拉取。
- Dev 创建分支以实现功能。
- 完成后,dev 通过 TFS 提交并删除分支。
- Dev 通过第一步将他的更改拉入他的 master 分支。
这个工作流程可行吗?有没有人知道如何设置类似的东西?
首先TFS不是一个SCM,它是一个ALM平台。它提供了两个原生 SCM 选项,TFVC 和 Git.
您最好的选择是在您的 TFS 服务器中创建一个新的团队项目,当系统询问您使用哪个 SCM 提供程序时,请选择 Git。这将为您提供类似于 GitHub 或 Bitbucket 的东西,但企业已准备好进行企业审计。
然后,您可以将这个新的 TFS Git 存储库添加为来源并推送。
如果您仍然必须使用 TFVC,那么我建议您除了上述之外,还可以每天使用 Git-tfs 在此服务器 Git 存储库和 TFVC 之间推送。
- 创建一个 MyProject-Git 团队项目 Git 作为 SCM
- 用 Git-TF
克隆你的 MyProject-TFVC
- 将 MyProject-Git 添加为本地 Git MyProject-TFVC
副本的远程
- 推送到我的项目-Git
您现在拥有同一代码的 Git 和 TFVC 副本,并且所有历史记录都完好无损。然后,您的每个编码员都可以克隆 MyProject-Git 并在 Git.
中愉快地工作
然后您可以设置一个自动化的计划流程,以定期同步 MyProject-Git 和 MyProject-TFVC。您只需要通知冲突,但由于所有内容都在服务器端并已备份,因此您可以随意进行。
目前的解决方案与我上面概述的基本相同。主要限制:
- 同事不习惯安慰,尽量避开。 CLI 应用程序是行不通的(遗憾的是)
- TFS 仍然是 "upstream"(这不是我想要保留的构建过程)
- 历史必须是正确的(谁在什么时候犯了什么罪)
- 每个开发人员每次都必须能够提交
所以...:[=14=]
- 主存储库由
git tfs fetch
每 10 分钟同步一次,分支重置为 tfs/branchname
- 禁止提交到 官方 分支(tfs 分支的副本)。
- 签入 TFS 由
git tfs rcheckin --no-merge
完成(包装在 GitExtensions 的插件中)。
:%s/tfs/TFVC/g
我们 运行 这个设置已经有几个月了,现在有 3 个存储库和多个分支。我的同事们在短时间内就习惯了 git 和这个工作流程 - 一个问题时不时地出现,但它变得越来越少。我有点惊讶,结果如何。
此处使用的官方 SCM 是 TFS。我对本地开发分支使用 git-tfs to be able to work. Other devs here at the local branch of our company use StarTeam(是的,那里有比 TFS 更糟糕的 SCM)。现在,我们中的一些人正在考虑从 StarTeam 迁移到 Git 以进行本地开发。
将 git 与 tfs 结合用于多个用户的最佳方式是什么?
我的最佳创意:
- 一个中央服务器拥有 TFS 存储库的 1:1 副本(通过 git-tfs,每个脚本大约每小时同步一次)
- 从此服务器开发拉取。
- Dev 创建分支以实现功能。
- 完成后,dev 通过 TFS 提交并删除分支。
- Dev 通过第一步将他的更改拉入他的 master 分支。
这个工作流程可行吗?有没有人知道如何设置类似的东西?
首先TFS不是一个SCM,它是一个ALM平台。它提供了两个原生 SCM 选项,TFVC 和 Git.
您最好的选择是在您的 TFS 服务器中创建一个新的团队项目,当系统询问您使用哪个 SCM 提供程序时,请选择 Git。这将为您提供类似于 GitHub 或 Bitbucket 的东西,但企业已准备好进行企业审计。 然后,您可以将这个新的 TFS Git 存储库添加为来源并推送。
如果您仍然必须使用 TFVC,那么我建议您除了上述之外,还可以每天使用 Git-tfs 在此服务器 Git 存储库和 TFVC 之间推送。
- 创建一个 MyProject-Git 团队项目 Git 作为 SCM
- 用 Git-TF 克隆你的 MyProject-TFVC
- 将 MyProject-Git 添加为本地 Git MyProject-TFVC 副本的远程
- 推送到我的项目-Git
您现在拥有同一代码的 Git 和 TFVC 副本,并且所有历史记录都完好无损。然后,您的每个编码员都可以克隆 MyProject-Git 并在 Git.
中愉快地工作然后您可以设置一个自动化的计划流程,以定期同步 MyProject-Git 和 MyProject-TFVC。您只需要通知冲突,但由于所有内容都在服务器端并已备份,因此您可以随意进行。
目前的解决方案与我上面概述的基本相同。主要限制:
- 同事不习惯安慰,尽量避开。 CLI 应用程序是行不通的(遗憾的是)
- TFS 仍然是 "upstream"(这不是我想要保留的构建过程)
- 历史必须是正确的(谁在什么时候犯了什么罪)
- 每个开发人员每次都必须能够提交
所以...:[=14=]
- 主存储库由
git tfs fetch
每 10 分钟同步一次,分支重置为tfs/branchname
- 禁止提交到 官方 分支(tfs 分支的副本)。
- 签入 TFS 由
git tfs rcheckin --no-merge
完成(包装在 GitExtensions 的插件中)。 :%s/tfs/TFVC/g
我们 运行 这个设置已经有几个月了,现在有 3 个存储库和多个分支。我的同事们在短时间内就习惯了 git 和这个工作流程 - 一个问题时不时地出现,但它变得越来越少。我有点惊讶,结果如何。