问题标签 [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 投票
0 回答
325 浏览

git - 使用 git-tfs 删除 TFS 分支

我在 TFS 中有一个功能分支,我在本地使用 git-tfs 使用git tfs branch --init. (通常我只使用本地 git 分支,但在这种情况下,我想用我的更改创建一个构建,所以 TFS 功能分支似乎合适)

我现在已经完成了那个特性分支,我想从 TFS 和 git 中删除它。我知道如何从 TFS 中删除它——问题在于 git 端。

我尝试使用git tfs branch --delete Features/FeatureBranch,它没有抱怨,但随后每次我尝试签入时,它都会失败并出现以下错误:

有没有办法删除这些分支,以便我可以恢复git tfs checkintool正常使用?

我正在使用 git-tfs 0.19.2.0 和 git 1.8.5.2.msysgit.0

0 投票
1 回答
884 浏览

git - 使 Git 提交消息反映已编辑的 TFS 变更集注释

TL;博士

本文所述,我更改了 TFS 变更集注释。如何使用 Git-Tfs 将其反映在本地 Git 存储库中的相应 Git 提交中?

详细版

我是 Git-Tfs 用户。我的工作流程是这样的,我尝试将极小的代码增量提交到我的本地 Git 存储库(“一行更改 - 测试绿色 - 提交”之类的东西)并在我有一个有意义的时候将其推送到 TFS 服务器(但希望仍然很小)变更集。通常这是在一次 Git 提交之后,但有时是在几次之后。

当一次将多个 Git 提交检查到 TFS 时,Git-Tfs 会将 Git 提交消息组合为默认的 TFS 签入注释。到目前为止,一切都很好。我通常会篡改它们以使它们作为单个变更集评论更流畅地阅读。但是今天我忘记了并签入了一条对我使用 TFS 的同事没有帮助的消息。

好吧,没什么大不了的。我使用 TFS 编辑变更集注释以使其更加连贯。但是,我无法让我的本地 Git 存储库与此更改同步。这没什么大不了的,因为主要是我为其他人更改的。但是,我很想知道是否可以将其同步。

我试过的

我试过了,但提交消息仍然是我编辑变更集注释之前的内容:

0 投票
2 回答
1051 浏览

git - 执行 git tfs rcheckin 时出现 TF26198 错误

我们在工作中使用 TFS 2010,我使用 git-tfs,所以我可以在本地使用 git。我最近升级了我的机器,并复制了我所有的本地存储库文件夹。

我似乎能够从 TFS 中提取并在本地提交。但是,当我这样做时git tfs rcheckin,我现在收到错误消息:

但是,它在使用git tfs checkintool.

我推测我收到此错误是因为原件git tfs clone是在另一台计算机上完成的。阅读 git-tfs 文档,听起来我应该git clone从我的旧机器上做一个(而不是复制),然后是一个git tfs bootstrap. 但是,在尝试此操作时,我仍然遇到相同的错误。

有什么想法可能导致这种情况吗?我能想到的唯一其他区别是我的旧机器安装了 VS2010 和 VS2012,而我的新机器只安装了 VS2012。

0 投票
1 回答
393 浏览

git-tfs - 为什么安装 gittfs 会出现以下错误?

我正在通过 choclaty 使用以下命令来安装 gittfs。

cinst gittfs

似乎一切正常,直到我收到以下错误:

确实,他们在谈论什么路径参数?

0 投票
1 回答
6445 浏览

git - 从具有多个分支及其历史的 TFS 迁移到 GIT

C:\>git tf clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main OldTFS --deep

这只会让我得到主要的分支历史。那是git tf

C:\>git tfs clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main --with-branches

在其中一个合并变更集中获取几个分支后,这失败了Please report this case to the git-tfs developpers! (report here : https://github.com/git-tfs/git-tfs/issues/461 )git branch给我这个

我已经分支到 Sprint085 和相当多的发布分支。那是git tfs

有什么办法可以git tf让我获取一些其他正确创建合并提交的分支,以便我可以正确查看历史记录?

0 投票
2 回答
814 浏览

git - 在 git-tfs 中保留已移动 TFS 文件夹的历史记录

我将使用 git-tfs 将我的项目(文件夹)从 TFS 迁移到 git。问题是该文件夹曾经在 TFS 中从一个地方移动到另一个地方。文件夹的 TFS 历史记录从头开始显示所有变更集,但git-tfs clone仅克隆移动后发生的变更集。

是否也可以克隆旧的更改集?最好与新的变更集一起,但至少可能与另一个 git repo 一起使用?

更新。我尝试了一些想法,但都失败了:

  1. 可以从旧文件夹位置克隆。但是当前更改集中没有那个位置。
  2. 当旧位置存在时,可以从最后一个更改集克隆。但是git tfs clone没有使用特定变更集的选项,只有quick-clone
  3. 可以quick-clone在旧位置(它有效)的第一个变更集,然后fetch进行更改。但fetch失败并出现错误“不存在适合...的映射”。我尝试将新旧 tfs 遥控器添加到同一个 repo,但这没有帮助。
0 投票
1 回答
2497 浏览

git-tfs - 当 git tfs 无法创建合并提交时,如何更正

当 git tfs 无法创建合并提交时,它说 warning: this changeset 7504 is a merge changeset. But it can't have been managed accordingly because one of the parent changeset 7494 is not present in the repository! If you want to do it, fetch the branch containing this changeset before retrying...

根据文档Note: if you see a warning, you could correct that by reseting the tfs remote to a previous commit. Then fetch the merged branch and retry to fetch the branch.

任何人都可以详细说明reseting the tfs remote to a previous commit。虽然,我现在已经获取了合并的分支,但我不明白如何将其重置为之前对失败分支的提交。我不确定,但我必须这样做git checkout <hash of the previous commit>吗?

0 投票
2 回答
1743 浏览

git - git tfs:当 tfs 中有另一个签入时,如何重新签入 git 提交?

对于无法访问 TFS 的远程工作者,我们使用 git tfs 克隆了 TFS 存储库。当我们取回他的存储库时,我们看到他在一个新的功能分支上工作。

在尝试重新检查他的更改之前,我们将他的功能分支合并到主分支中。由于他没有向 master 提交任何内容,因此发生了快进,产生了单个流 git log。不幸的是,由于最初的克隆在 TFS 上发生了另一个(完全不相关的)签入。当我们尝试重新签入时,我们收到以下错误消息:

如果我们需要所有提交都反映为 TFS 上的签入,我不明白建议的 rebase 会有什么帮助。

在这种情况下,有什么方法可以将所有 git 提交作为单独的 TFS 签入?

0 投票
1 回答
162 浏览

git - 如何将 tfs-git 指向同一 tfs 存储库中的新路径?

我正在使用 git-tfs 来管理我的源代码控制。决定将我正在处理的代码移动到 TFS 存储库中的新位置。

我想将 git-tfs 指向新位置,这样我就不必从新路径克隆并可以继续引用旧历史记录。

这可能吗?如果可以,我将如何去做?

0 投票
1 回答
840 浏览

git-tfs - 获取期间出现 git-tfs 错误?清理工作区目录

当我运行时git tfs fetch没有输出。它似乎没有从 tfs 服务器中提取任何新的变更集。然后我运行git tfs fetch -d并得到以下输出:

我不明白的第一件事是...Getting changesets from 60 to current ...TFS repo 当前位于变更集 59 上,当我克隆 repo 时,它位于变更集 57 上。所以在获取时,我应该将变更集 58 变为当前.. .

第二件事是它给我的最后一个错误。谁能解释这个CleanupWorkspaceDirectory错误是怎么回事?

编辑:

我忘记提及的另一件事是,我已经向存储库添加了另一个 git 远程,并且我已将 refs/remotes/tfs/default 中的内容与我从 git 存储库检索到的分支合并。不知道这是否导致某些东西git-tfs破裂......