当我运行以下命令来改变git bash中的路径变量时 - 它可以工作.
在我运行几个git-tfs命令之后,它恢复到原始设置.
有可能解释原因吗?
$ PATH = $ PATH:我的git-tfs路径就在这里
澄清一下,它首先起作用.但随后git-tfs命令停止工作,这是因为它所在的文件夹不再出现在路径中.
编辑:当我关闭bash时,不会保存更改.
我正在使用git-tfs克隆TFS存储库,这是我过去能够成功完成的事情。但是在运行命令时使用当前版本,就像这样...
git tfs clone http://NameOfOurTfsServer:8080/ $/NameOfMyProject -d
...我得到一个错误代码128,例如:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Sep.Git.Tfs.Core.GitCommandException: Command exited with error code: 128 at Sep.Git.Tfs.Core.GitHelpers.Close(Process process) in c:\Users\matt\dev\github\git-tfs\GitTfs\Core\GitHelpers.cs:line 205 at Sep.Git.Tfs.Core.GitHelpers.<>c__DisplayClass8.<CommandOutputPipe>b__7() in c:\Users\matt\dev\github\git-tfs\GitTfs\Core\GitHelpers.cs:line 59 [etc.]
这是在git-tfs 14.0上。我已经尝试了几个以前的git-tfs版本,但是每个版本都得到相同或相似的错误。
有人碰到这个吗?你知道解决办法吗?
在工作中我们使用TFS,我正在尝试使用Git-TFS工具,以便在将其推送到我们的TFS存储库之前使用本地提交时具有更大的灵活性.
我有这个工作,但是当我这样做时git tfs ct,它会将我的所有提交检查到一个TFS变更集中.我错过了什么,或者这是它应该如何工作?如果它没有将我的每个提交单独推送到TFS作为单独的更改集,那么它似乎首先打败了使用git-tfs的目的.
我的团队在不久前将tfs从旧服务器转移到新服务器.我们使用git tfs来管理我们的本地更改并将它们推送到tfs.
但是当我从tfs克隆一个现有的repo时,我遇到了一个问题
git tfs clone http://our.new.tfs/tfs $/project "myrepo"
Run Code Online (Sandbox Code Playgroud)
Git能够连接到新服务器并将所有内容都拉下来.然后,我可以进行更改并毫无问题地提交它们.直到我尝试做一个git tfs pull或git tfs checkintool这个,我得到一个错误说:
Unable to locate a remote for <http://our.old.tfs/tfs>$/project
Run Code Online (Sandbox Code Playgroud)
当我检查配置时,url被定义为http://our.new.tfs/tfs如此,我不知道它从旧服务器获取的想法.
我已经尝试从配置文件中删除遥控器部分并执行git tfs init [remote]但仍然出现相同的错误.我甚至已经抓住了回购并开始使用新的克隆,但仍然是同样的事情.它始终指向旧服务器而不是新服务器.
我一直在网上看几个小时,但没有找到解决方案的运气.如果您能提供任何有用的建议,请告诉我们!
先感谢您!
我的任务是将git repo的发布分支镜像到TFS,以便git中的每个提交映射到TFS中的变更集.所有开发人员只提交git和(假设)不知道TFS.
阅读rcheckin的文档以及相关问题的答案让我相信rcheckin能够做到这一点.
git中的所有提交都被压缩成一个变更集.
复制顺序:
git tfs clone http://tfs:8080 $/tfsrepo
cd tfsrepo
git remote add github git@github.com:REPO/Repo.git
git fetch github
git merge github/release
git tfs rcheckin
Run Code Online (Sandbox Code Playgroud)
这导致单个签入TFS,其中包含所有提交.
克隆后,合并来自源(git)repo的第一个提交,rcheckin以创建共享库
git pull github release又git-tfs rcheckin导致再次挤压.对于原始仓库中的前几个提交,我将它们逐个合并到git-tfs共享仓库中并在每个仓库之后进行rcheckin.
我需要做些什么来保持TFS与git-repo的发布分支保持同步,以便git中的每个提交都有相应的TFS变更集?
我确实对这两个repos都有管理控制权,如果有必要,我可以重新设置git repo,这意味着所有后果.我只是不想失去我们已经创建的历史.
我有一个问题,试图从TFS拉出我的最新更改并将它们添加到BitBucket仓库.我已成功将我的分支推入BitBucket,但当我尝试从TFS获取任何新的签到时,我总是会遇到合并冲突.
脚步:
git tfs clone http://TFS-ADDRESS/Collection $/Project/Name/Branchgit tfs init-branch $/Project/Name/NewBranch NewBranchNamegit push -u origin --all此时我的BitBukcet repo拥有来自TFS的所有文件和历史记录.然后我在TFS上检查了$/Project/Name/NewBranch.
现在我想从TFS获取最新的变更集并将它们添加/提交到BitBucket存储库注意:此时,TFS或BitBucket中没有其他分支发生了变化.唯一的变化是我单独登记进入TFS
当我在NewBranch上执行以下操作时,会出现合并冲突:
git tfs pull
Auto-merging Source/build.version
CONFLICT (content): Merge conflict in Source/build.version
Run Code Online (Sandbox Code Playgroud)
据我所知,即使NewBranch是最新的代码,它也试图将我的"master"中的更改合并到我的"NewBranch"中.ptfs pull命令将最后一个checgeset拉下来,但随后尝试进行合并.如果我使用
git tfs fetch --all
Run Code Online (Sandbox Code Playgroud)
我看到列出了变更集,但我无法将其提交/推送到BitBucket存储库.我无法在网上找到一个参考资料来说明我做错了什么,或者我需要采取什么步骤(我是Git的新手).有人可以帮忙吗?
我最终希望自动执行此操作,以便可以获取TFS中的任何签入并将其添加到BitBucket存储库(直到我们最终将所有开发人员移动到BitBucket)
谢谢
编辑我试图从TFS更改为BitBucket.没有任何东西从BitBucket添加到TFS.
所有工作都在一个分支上完成(见下文).用户正在使用TFS.用户在那里提交更改.注意:没有人正在编辑BitBucket仓库.它是TFS的复制品.每天一次,我想将每个TFS分支的最新变更集下拉到我的本地git文件夹,然后将它们推送到BitBucket."git tfs fetch"检索更改集:
D:\development\workspaces\git\anothertry>git tfs fetch --all
C83419 = 3abdaedf571369dce15f74a52697d86069f87d6d
Run Code Online (Sandbox Code Playgroud)
但"git status"告诉我没有什么可以承诺的
D:\development\workspaces\git\anothertry>git status
# On branch Feature
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
当我尝试将这个变更集推入BitBucket时,git告诉我没有什么可以提交的.
分行
Master---o---------------o----o--o-o--o-------
\ / / / / /
Feature-----o----o--o-o--o
Run Code Online (Sandbox Code Playgroud) 当 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.
谁能详细说明一下 …
Git-TFS 有一个verify命令,帮助描述如下:“verify 命令有助于识别从 TFS 获取、克隆或快速克隆的不准确之处。” 我有一个专有存储库,我正在将其从 TFS 迁移到 Git。运行后git tfs verify发现 TFS 中存在的 Git 存储库中丢失了大量文件,并且在进行同步后立即执行此操作。这之前发生过一次,我炸毁了整个存储库并重新开始,但现在我又遇到了同样的问题。我之前已经用 Git-TFS 成功克隆了这个存储库(在我们开始迁移到 Git 之前,当时我只是在本地使用它)所以我知道它可以成功,但我宁愿不炸毁整个存储库并重新开始。
是否有一种自动方法来修补 verify 命令显示的差异而无需重新克隆整个存储库?我可以在 TFS 中查看项目并在必要时手动复制所有文件,但我希望有更好的方法。
如何使用 git-tfs 将现有 Git 存储库镜像/复制到新的 TFS 2010 TFVC 存储库?现有的 Git 存储库不是从 TFS 克隆的。
为了后代,我需要将源代码从我们远程/本地 Git 存储库中的主分支移动到一个新的 TFVC 存储库,并在每次发布到生产时更新它。
我尝试使用 git-tfs 来完成此操作,但它似乎需要从最初从 TFS 克隆的 Git 存储库开始,这是不可能的。我可能会考虑使用 git-tf,但我工作的公司是 Microsoft 商店,我更喜欢使用更面向 Microsoft 的解决方案,而不是使用出于政治原因需要 Java 的解决方案。
我正在尝试使用TFS 2013使用git-tfs在TFS中克隆GIT存储库
git tfs clone http://servername:8080/tfs/DCM "$/Python"
Run Code Online (Sandbox Code Playgroud)
给我:
error: the path $/Python you want to clone doesn't exist!
Run Code Online (Sandbox Code Playgroud)
“ DCM”是集合的名称,“ Python”是项目的名称:
我尝试列出分支:
git tfs list-remote-branches http://servername:8080/tfs/DCM
Run Code Online (Sandbox Code Playgroud)
产生:
No TFS branches were found!
Run Code Online (Sandbox Code Playgroud)
我的直觉是这是一个语法错误,但不确定我在做什么错。