在没有 Atlassian 帐户的情况下安装 SourceTree?

Install SourceTree without an Atlassian account?

我正在尝试将 SourceTree 用于我正在教授的 class。为此,我们需要在学校的 Windows 台计算机上安装 SourceTree。

当我们尝试安装 SourceTree(版本 1.9.10.0)时,它需要一个 Atlassian 帐户才能启动。显然这是错误的——因为我们试图将 SourceTree 安装到共享计算机上(具体来说是安装到 VM 中),我们没有只有一个帐户(而且,最重要的是,我们将 SourceTree 与 GitLab 一起使用,不是 BitBucket/Atlassian,所以我们也不需要他们的帐户)。

是否可以安装 SourceTree 但在安装过程中跳过 'create an Atlassian account' 步骤?

(我们可以让学生稍后创建帐户,当他们第一次开始使用它时 - 我们只是不希望所有学生默认共享一个 BitBucket 帐户)

我认为 SourceTree 不允许在不使用 Atlassian 帐户的情况下进行安装。我也试过,做不到。

看看Github桌面,我认为它允许不配置帐户https://desktop.github.com/

(我也更喜欢我所看到的 UI - CLI 仍然规则)

Edit: keep in mind that's easier for the students to google by themselves solutions to problems with git using the CLI than using UI apps

可以确认 SourceTree V 1.6.14.0 不需要帐户...所以这就是为什么我在我的另一台计算机上点击从不更新旧版本;)

我不能 100% 确定这是否是仍然具有此功能但对我的目的有用的最新版本。

感谢 Mike 提到不需要登录的 SourceTree 版本。

可以安装不需要登录 Atlassian 帐户的 SourceTree v1.6.4。

How to install SourceTree v1.6.4 for Windows

如何为 Windows

安装 SourceTree v1.6.4

此要点展示了如何在无需登录 Atlassian 帐户的情况下安装 SourceTree。

v1.6.4 之后的更高版本的 SourceTree 需要登录 Atlassian 帐户。

步骤:

  • 安装 Chocolatey
  • 使用 Chocolatey 安装 SourceTree 1.6.4

安装 Chocolatey

  • 运行 Windows Powershell 作为管理员
  • 运行下面的命令Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

使用 Chocolatey 安装 SourceTree

运行 管理中的以下命令 console/terminal/powershell.

choco install sourcetree --version 1.6.4

参考资料

更新时间 2020-11-27

很高兴看到 SourceTree 允许用户在 3.3.9 版本中跳过登录过程。

旧版本:
SouceTree 使用 accounts.json 文件来存储帐户设置。
如果您的计算机中有 accounts.json 文件,它将跳过登录过程。
所以你可以将%AppData%\Atlassian\SourceTree\中的accounts.json文件复制到任何其他机器上以跳过登录过程。

我刚刚发现您需要一个帐户才能访问该应用程序,但您可以注销并仍然可以使用该应用程序。

https://github.com/yike8/sourcetree-skip-bitbucket-registration

安装sourcetree时如何跳过bitbucket注册?

第一步运行SourceTreeSetup-3.1.3.exe弹出注册界面后关闭

第二步,打开%LocalAppData%\Atlassian目录,找到accounts.json和user.config,替换成我提供的文件

例如

%LocalAppData%\Atlassian\SourceTree\accounts.json

%LocalAppData%\Atlassian\SourceTree.exe_Url_iayhtc13zv3obzuz5vchezjs1az2q5ef.1.3.3158\user.config

您可以使用临时电子邮件创建临时帐户。然后您可以在安装后删除该帐户并使用您自己的公司 git ID。这是最简单的方法。

我设法避免注册到今天的当前版本,即 3.3.8。

您所需要的只是已经提到的 'accounts.json' 放在 %AppData%\Atlassian\SourceTree\accounts.json(仔细看,现在是%Appdata%不是%Local...%)

我使用的文件准备了一个带有 OAuth 的 GitHub 帐户(您需要从编辑帐户对话框中应用一些新的 OAuth)。您也可以删除该帐户并执行您喜欢的操作。

[
  {
    "$id": "41",
    "$type": "SourceTree.Model.ScmAccount, SourceTree.Api.Host.Scm",
    "IsDefault": false,
    "Authenticate": true,
    "HostInstance": {
      "$id": "42",
      "$type": "SourceTree.Host.GitHub.GitHubInstance, SourceTree.Host.GitHub",
      "Host": {
        "$id": "43",
        "$type": "SourceTree.Host.GitHub.GitHubHost, SourceTree.Host.GitHub",
        "Id": "github"
      },
      "BaseUrl": "https://github.com/",
      "Protocol": "HTTPS"
    },
    "Credentials": {
      "$id": "44",
      "$type": "SourceTree.Api.Account.OAuth.TwoZero.OAuthTwoZeroCredentials, SourceTree.Api.Account.OAuth.TwoZero",
      "AuthenticationScheme": {
        "$type": "SourceTree.Api.Account.OAuth.TwoZero.OAuthTwoZeroBearerAuthenticationScheme, SourceTree.Api.Account.OAuth.TwoZero",
        "Name": "OAuth",
        "Description": "OAuth Token",
        "HeaderValuePrefix": "Bearer",
        "UsernameIsRequired": false
      },
      "Id": null,
      "Username": "github-username",
      "DisplayName": "Your Name",
      "Email": null,
      "AvatarURL": "https://cdn3.iconfinder.com/data/icons/inficons/128/Whosebug.png",
      "EmailHash": null
    }
  },
  {
    "$id": "18",
    "$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "IsDefault": false,
    "Authenticate": true,
    "HostInstance": {
      "$ref": "42"
    },
    "Credentials": {
      "$ref": "44"
    }
  }
]

2020更新无需管理员,无需安装,无需注册

这是一个脚本,用于下载 3.3.8 版、解压缩 MSI 并将配置文件复制到 %APPDATA% 以跳过注册

https://github.com/DVLP/sourcetree-portable-bypass-registration

在 powershell 中下载为 ZIP 运行 sourcetree_portable.ps1

$version="3.3.8"
$url="https://product-downloads.atlassian.com/software/sourcetree/windows/ga/SourcetreeEnterpriseSetup_$($version).msi"
$client = New-Object System.Net.WebClient

echo "Downloading sourcetree"
$client.DownloadFile($url, (Get-Item -Path ".\").FullName + "\sourcetree.msi")
mkdir sourcetree
$msi = (Get-ChildItem "*.msi" | select  -Last 1).fullname
$target = (Get-Item -Path ".\sourcetree").FullName

echo ""
echo "Unpacking..."
msiexec /a $msi /qb TARGETDIR=$target
Start-Sleep -s 5

echo "Opening and closing SourceTree.exe to create default directories..."
$exe = (Get-ChildItem -Recurse "./SourceTree.exe" | select  -Last 1).fullname
& $exe
Start-Sleep -s 5
echo "Waiting 10s. Don't close SourceTree, it will close itself."
Start-Sleep -s 10

echo "Killing SourceTree"
kill (Get-Process SourceTree).id

echo "Finding installation directories"

$userConfPath=(Get-ChildItem -LiteralPath $env:LOCALAPPDATA\Atlassian -Recurse -Directory -Filter $version* -Force).fullname

echo "Copying config files (sign-in bypass)"
Copy-Item ".\user.config" -Destination $userConfPath
Copy-Item ".\accounts.json" -Destination $env:APPDATA\Atlassian\SourceTree

echo "Flattening folder"
Get-ChildItem -Path .\sourcetree\ProgramFiles\Atlassian\Sourcetree -Recurse | Move-Item -Destination .\sourcetree
# Start-Sleep -s 2

echo "Cleaning up"
rm $msi
rm .\sourcetree\sourcetree.msi
rm -Recurse .\sourcetree\ProgramFiles

Read-Host -Prompt "Press Enter to exit"

我刚刚注意到您可以使用新按钮跳过当前版本 3.3.9 中的注册。 但这似乎没有记录。

https://product-downloads.atlassian.com/software/sourcetree/windows/ga/ReleaseNotes_3.3.9.html

更新 17.09.20: 我截取了版本 3.3.8 和 3.3.9 的屏幕截图以显示差异。 我无法 运行 安装程序的英文版本,所以我只能提供这个德文版本。 (“Überspringen”的意思是“跳过”)