问题标签 [git-tfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
198 浏览

git - 与多个 Git 用户一起使用 git-tfs

这里工作的官方 SCM 是 TFS。我使用git-tfs才能工作。我们公司本地分支机构的其他开发人员将StarTeam用于本地开发分支机构(是的,那里有比 TFS 更差的 SCM)。现在,我们中的一些人正在考虑从 StarTeam 迁移到 Git 以进行本地开发。

对于多个用户,将 git 与 tfs 结合使用的最佳方式是什么?

我有的最好的主意:

  1. 一个中央服务器拥有 TFS 存储库的 1:1 副本(通过 git-tfs,每个脚本大约每小时同步一次)
  2. 开发者从此服务器拉取。
  3. Dev 创建分支来实现功能。
  4. 完成后,dev 通过 TFS 提交并删除分支。
  5. Dev 通过第一步将他的更改拉入他的主分支。

这个工作流程可以工作吗?有没有人有经验如何设置这样的东西?

0 投票
1 回答
57 浏览

tfs - git-tfs 忽略对配置的更改

我在 TFS2012 中使用了 git-tfs 一段时间,但最近我们迁移到 TFS2013 并且 TFS 地址发生了变化。

我似乎无法再做git tfs checkin任何事情,因为它试图将更改发送到旧地址。

我更新了 url 中的 url .git\config,清除了 TFS 缓存,但 git-tfs 仍然尝试使用旧地址签入,并tfs-remote在每次尝试执行此操作时将新的旧 url 附加到配置文件中。

我怎样才能签到新的网址?

0 投票
1 回答
1893 浏览

git - 带有部分历史记录的 git tfs 克隆

我正在尝试将 TFS 存储库迁移到 git,但遇到了问题。

查看 TFS 中这个特定存储库的历史,看起来好像父级被复制到一个新的 TFS 存储库中,然后在稍后的时间父级被毫无根据地合并到其中(或类似的东西)。

当我运行“git tfs clone”命令时出现错误:

git-tfs 无法在分支 '$/x' 和它的父分支 '$/y' 之间找到根变更集(即最后一次共同提交)...

是否可以使用 git tfs clone 限制历史记录?我知道我可以使用快速克隆,但这只会给我最后一次提交。理想情况下,我想回到一个特定的变更集,或者排除没有共同父级的毫无根据的合并变更集......

干杯!

0 投票
1 回答
510 浏览

git - 自动删除 TFS 中的文件(Git 和 Jenkins 集成)

我有一个 git 存储库设置(使用 gitblit)、Jenkins 和 Team Foundation Server (TFS)。我想做的是:

1) 让工程师将代码提交到 git 存储库。

2) Jenkins 将编译代码。

3) Jenkins 会将代码更改添加到 TFS 中。

很简单吧?好吧,我遇到了在 TFS 中反映已删除文件的问题。我的工作如下:

1) Jenkins 运行一个脚本,删除 Jenkins 工作区中的所有文件和文件夹

2) 然后 Jenkins 将文件从 git repo 克隆到 Jenkins 工作区。

3) Jenkins 执行一个包含以下 TFS 命令的批处理文件:

现在,如果文件在进入 Git 时被添加或编辑,则上述命令非常有效。但是,如果一个文件曾经从 Git 中删除,它不会反映在 TFS 中。

使情况更加复杂。我还需要向 TFS 添加一些在 Git 存储库中不应该存在的文件。

是否有我可以运行的 TFS 命令来反映已删除的更改?

我正在考虑在从 Git 添加文件之前删除 TFS 文件夹,但是我也会删除直接添加到 TFS 的文件。我听说过 Git-TF 和 Git-TFS,这些实用程序能做我想要的吗?如果是这样,我可以运行哪些命令将代码从 Git 转移到 TFS?

谢谢

0 投票
1 回答
2990 浏览

git-tfs - 克隆存储库时 git-tfs 返回“(401)未授权”错误

我使用 git-tfs 来处理 TFVC 存储库。我开始从事其他项目,该项目的代码托管在不同的服务器上。

现在,当我尝试克隆存储库时出现错误。

它提示我输入两次凭据。然后它显示一个错误。

我已经仔细检查了它是一个正确的网址。我可以使用 Visual Studio 和浏览器进行连接。

我已经仔细检查了它是正确的密码和用户名。我可以在浏览器中使用此凭据登录。

我可以从我机器上的不同服务器克隆代码。

服务器是 Visual Studio Team Foundation Server 2013。我的 git-tfs 版本是

我发现了一些具有类似错误的问题并尝试了答案。所以这些是我试图做的事情:

  • 在 Visual Studio 的浏览器中从该服务器注销;
  • 清理 Internet Explorer 缓存
  • 删除 C:\Users\UserName\AppData\Local\Microsoft\Team Foundation\5.0\Cache 文件夹;
  • 在 Internet Explorer 中将 tfs 服务器添加到本地 Intranet 安全区域。

这是调试输出:

我该怎么做才能让我的 git-tfs 流回来?

0 投票
1 回答
1135 浏览

git - git-tfs 本地 Git 存储库到 TFVC

我正在使用本地 TFS 实例测试 git-tfs(它也可以与 VSO 一起使用吗?)并尝试使用它rcheckin来将我的 Git 提交推送到 TFVC。但是,当我尝试使用 时rcheckin,我收到一个错误,即找不到 TFS 父母。我推送的 TFVC 存储库是空的,我想将我的更改从 Git 推送到 TFVC。这是我所做的:

我错过了什么?我是否为我的其他分支(如 feature1、feature2 等)运行此命令?我对 Git-TFS 很陌生,但它似乎是一个非常方便的工具。

0 投票
1 回答
221 浏览

git - 在 git-tfs 中是否可以将 tfs 分支/项目添加为附加远程?

我必须使用一个混乱的 TFS 存储库。搞砸了,我的意思是:

如您所见,分支政策有点可疑......

因此,我的 TFS 分支是使用快速克隆从先前分支分支之间的某个地方的Dev 分支创建的(快速是由于其他混乱的分支)。现在我必须在这两个分支(DevRelease )之间同步我的更改,显然,我不能branch --init发布分支。

(尝试使用分支再次克隆整个存储库没有成功,因为 TFS 存储库管理的怪异)

我目前知道有两种选择:

  1. 诉诸 TFS 进行合并
  2. 从Release分支克隆一个额外的 git 存储库,并将这个存储库作为远程添加到我的存储库中,紧随Dev。这将导致继续使用 GIT,但我不确定这样做是否值得,因为单独同步新存储库的额外开销。

我能想到的另一种可能性是将Dev分支作为附加远程直接添加到我当前的存储库中。但是,我没有找到任何方法来做到这一点。

我的问题是上述是否可行,如果不是,还有其他明智的选择吗?

0 投票
1 回答
300 浏览

git - 针对 tfs 重新检查在 git 上创建的分支

到目前为止我成功地做了什么:

  • git tfs clone 从我在 TFS 的主分支。
  • 将此 repo 推送到我的 bitbucket 帐户。
  • 在本地创建了一个分支(git checkout -b testbranch)
  • 在 TFS 上创建了相同的分支(git tfs branch $/Repo/testbranch)
  • 对测试进行了一些更改,并且仅在 git 上提交(git add,git commit on testbranch)。没有将它们推送到 bitbucket。

现在有什么问题:

执行:git tfs rcheckin,结果我将更改签入到 TFS 上的主分支(我想签入到 testbranch)

尝试: git tfs rcheckin -i testbranch,并收到以下消息:“未找到 TFS 父母!”

关于如何解决它的任何想法?

0 投票
1 回答
2134 浏览

git - 如何将远程 tfs 分支合并到 git 分支中?

我需要将远程 tfs 存储库分支中的更改合并到 git 存储库分支中。

克隆会创建一个全新的 git 存储库,这是我不想要的。我想合并到现有的 git 存储库中。

澄清:

  • 几周前,一位同事克隆了 2 个 TFS 存储库:RepoARepoB
  • 那位同事离开了公司。
  • 我们决定我们需要一个存储库,所以我将RepoA合并到RepoB中,如下所述:Merge two Git repositories without broken file history
  • 从那时起,所有的开发团队都在使用RepoB,除了一个。
  • 一个团队继续开发并提交到 TFS 存储库。
  • 现在我们想让最后的团队开始使用 Git;我们需要将他们自原始克隆 ( tfs-RepoA ) 以来的工作合并到 Git 存储库 ( RepoB )
0 投票
1 回答
418 浏览

git - 为什么建议克隆 TFS 根分支?

git-tfs工具允许您将 TFS 分支克隆到 Git 存储库。显示可用 TFS 分支的一种方法是使用git-tfs list-remote-branches命令,该命令(最后)指出:“建议克隆根分支(用 [*] 标记)!”

简单地说,为什么?我看不出克隆根分支有什么特别的好处……如果你想克隆一个子分支怎么办?根枝有什么好处?