致命:远程错误:需要验证码-Bitbucket-Powershell脚本

时间:2018-10-09 06:14:06

标签: c# git powershell bitbucket

我想检出分支并使用powershell脚本提交代码更改。此powershell脚本将从c#代码中调用。

但是有时候我遇到以下问题

  

致命:远程错误:需要验证码您的Bitbucket帐户已经   锁定。要解锁并再次登录,您必须解决验证码问题。这个   通常是由于尝试登录次数过多而导致输入错误   密码。帐户锁定可防止您的SCM客户端访问   Bitbucket及其镜像直到解决,即使您输入了   密码正确。

如果我在浏览器中注销并通过输入验证码再次登录,则它工作正常。但是,如果我将应用程序托管在服务器上并且发生问题,则注销并再次登录不是正确的解决方法。

能否请您提出解决此问题的好方法。

我用于克隆分支的Powershell代码:

param(
    [parameter(position=0)]
    [string]$checkoutDirectory,

    [parameter(position=1)]
    [string]$checkoutBranch
)

function CheckoutTheCode($checkoutRepoUrl, $checkoutDirectory, $checkoutBranch)
{
    [hashtable]$Return = @{}
    try
    {
        if(Test-Path -Path $checkoutDirectory )
        {
            Remove-Item -Recurse -Force $checkoutDirectory
        }

        New-Item -ItemType directory -Path $checkoutDirectory

        # Cloning
        git clone --single-branch -b $checkoutBranch $checkoutRepoUrl $checkoutDirectory

        $Return.Branch = $checkoutBranch
        $Return.Directory = $checkoutDirectory
        $Return.Status = $true
        $Return.Message = "Success"
    }
    catch
    {
        $Return.Message = $Error[0].Exception
        $Return.Status = $false
    }

    Return $Return 
}

我的Powershell提交更改代码:

param(
    [parameter(position=0)]
    [string]$checkoutDirectory,

    [parameter(position=1)]
    [string]$commitMessage
)

function CommitTheCode($checkoutDirectory, $commitMessage)
{
    [hashtable]$Return = @{}
    try
    {
        cd $checkoutDirectory
        git add .
        git commit -m $commitMessage
        git push

        $Return.Status = $true
        $Return.Message = "Success"
    }
    catch
    {
        $Return.Message = $Error[0].Exception
        $Return.Status = $false
    }

    Return $Return 
}

CommitTheCode $checkoutDirectory $commitMessage

2 个答案:

答案 0 :(得分:0)

在Google搜索之后,我发现了以下内容。

  

此问题归因于“输入了错误的密码5次”。直到   位存储桶管理员,在您的个人资料上点击“清除验证码”,   系统会一直随机询问验证码。

如果管理员清除了验证码问题,则会自动解决。

答案 1 :(得分:0)

以下步骤对我有用(无需让Bitbucket管理员单击按钮)

对于Windows,

  1. 转到凭据管理器(您可以通过在“开始”菜单中搜索它来找到它)
  2. 删除所有与您的位桶帐户相关的凭据
  3. 再次尝试使用脚本。