VSTS Git拉取失败,退出码为128。

22

看起来这是一个与这个问题重复的问题,但我的问题是我正在运行托管版本。

VSTS GIT获取失败

我启用了系统调试,并允许所有角色拥有几乎所有访问权限,因为现在只有我一个人。我最近创建了一个新项目,这是我在VSTS中改变的唯一事情。我正在托管代理上运行,并尝试创建新的生成流水线。有人最近遇到过这种情况吗?

输入图片说明


只有在手动排队构建时才会失败吗?如果是由CI触发构建,获取源代码步骤是否成功? - Marina Liu
@MarinaLiu-MSFT,CI上也出现了故障。我的其他构建在同一步骤上也失败了。 - Leonardo Wildt
11个回答

10

“Git fetch failed with exit code: 128”错误消息的另一个可能原因是在创建拉取请求后,开发人员立即单击合并,并且构建当然还没有完成,这种情况对于拉取请求构建来说很常见。

所以对于我们而言,解决方案就是“遵循流程”。这也可以被强制执行。


9
在我的情况下,错误是由版本控制中权限设置的更改引起的。我点击齿轮图标 -> 项目设置 -> 版本控制。我在左侧选择了Git存储库,在用户下面确保包括“项目集合构建服务(项目)”。
请查看下面的图片以获取更详细的说明: enter image description here

1
既然你的问题已经解决了,你可以标记你的答案。 - Marina Liu

4

应用中心:问题在于当你触发构建时,你的构建配置没有被保存/考虑。解决方法就是进入配置页面并再次点击保存。然后你就可以触发构建了。


2

对于任何在搜索128退出代码时找到这个问题的人:

在我的情况下,是Bitbucket Server的硬盘已满(空间不足)导致了此错误。如果您自己托管git服务器,请检查硬盘:

df

也许这可以帮助某些人。

1

我曾经遇到过类似的问题,是由于安全选项卡中的“Pipeline权限”部分引起的。 将相关的流水线添加到允许列表中后,一切开始正常工作: 流水线权限


1

我最近遇到了这个问题,经过多次尝试,我发现在将工件添加到Azure发布/管道时勾选“从LFS检出文件”的复选框是有效的。此处

enter image description here


0
在我的情况下,我正在从不同项目检出分支,而不是我创建管道的项目,并且没有权限。

你能详细说明一下吗?授权是在哪里给出的? - Rasmus Lauridsen
我遇到了同样的问题。你是怎么解决的? - Ian Carrick
1
@IanCarrick 我通过在管道的代理选项卡中选择“允许脚本访问OAuth令牌”复选框来修复了它。然后确保用户实际上有访问权限(如Leonardo Wildt的答案所述)。 - Rasmus Lauridsen

0
在我的情况下,我遇到了“##[error]Bash exited with code '128'.”的问题 - 在我的情况下,我不得不生成新的“Git凭据”,并将它们设置为变量设置部分的新值。
简要介绍一下我的实施情况,我们使用Azure Devops - 与AWS Code Commit连接的Pipeline,可以在这里查看详细步骤,Guide

0

本周我遇到了这个问题的另一个原因。在我的情况下,yaml管道尝试访问两个存储库,一个在它自己的项目中,这很好,另一个在不同的项目中(但在同一组织中),失败了。结果我们需要更改一些项目设置。要这样做,请转到项目设置(齿轮图标)->管道->设置,并禁用以下设置:

  • 限制非发布管道的作业授权范围为当前项目
  • 限制发布管道的作业授权范围为当前项目

之后,错误消失了,从另一个项目检出存储库也成功了。


0
从Visual Studio推送到分支时,观察到了这个问题:'Git失败,致命错误。ExitCode: 128'
对我来说,以下步骤有效:
- 创建一个本地文件夹,并将命令行切换到该文件夹,然后运行: ``` Git clone branchUrl ```
- 输入用户名和密码(在Azure DevOps的情况下,在克隆存储库选项中选择生成凭据选项,输入用户名和密码令牌)。 - 克隆成功后,关闭并重新打开Visual Studio,打开遇到身份验证问题的同一项目,现在应该可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接