如何为 gitlab 集成 sourcetree
Posted
技术标签:
【中文标题】如何为 gitlab 集成 sourcetree【英文标题】:How to integrate sourcetree for gitlab 【发布时间】:2015-02-18 15:28:15 【问题描述】:我在 github 上工作并将其集成到我的一个项目的 sourcetree(MAC 版本)中。我想为 GITLAB 使用 sourcetree。但我无法将 gitlab 的远程添加到源代码树。在存储库设置中,只有我可以看到主机类型为“未知”、“bitbucket”、“github”和“stash”。我用了 unknown 但它对我没有帮助。
Sourcetree 版本 2.0.4 (2.0.4)
【问题讨论】:
如果以下答案没有帮助,也许您可以分享您在尝试提交时收到的错误消息。 我找到了这篇文章jaredleonmorgan.net/2016/03/16/… 【参考方案1】:这些是可选设置。将其设置为未知,您应该会很好。
编辑:如果“未知”不再是一个选项,请尝试将该部分中的所有内容留空。
【讨论】:
从 SourceTree 2.0.5 开始,“未知”不再是一个选项。【参考方案2】:似乎没有办法在 SourceTree 中设置 GitLab 帐户,但是如果您只是克隆一个远程仓库,它将正确使用您的 SSH 密钥。
编辑:在 SourceTree 3.0 之后,可以添加各种非 Atlassian git 帐户,包括 GitLab。
【讨论】:
jaredleonmorgan.net/2016/03/16/…我注意到那篇文章 我无法让它与 SSH 密钥一起使用。总是要求输入密码。 当我在 SourceTree 中将其设置为帐户时,尝试从显示的存储库克隆时出现错误:abort: repository not found
【参考方案3】:
它对我有用,但只能使用 ssh 密钥而不是用户名和密码。
将 ssh 密钥添加到 sourcetree 后,我更改了 Tools -> Options -> SSH-Client to work with PuTTY/Plink.
下的设置
我在添加 ssh 密钥后遇到了麻烦,因为我忘记重新启动 sourceTree。 “这是必要的,以便有一个 ssh-agent 实例正在运行,SourceTree 可以在加载您的密钥时与之对话。” 看这里: https://answers.atlassian.com/questions/189412/sourcetree-with-gitlab-ssh-not-working
【讨论】:
【参考方案4】:它对我有用,但仅在存储库设置中使用 https 链接(存储库 => 存储库设置)。您需要将设置更改为:
网址/路径:https://**********.com/username/project.git 主机类型 - 存储 主机根 URL - GitLab 的根 URL(例如:https://**********.com/) 用户名 - 留空或者在某些情况下,如果您有 ssh url,例如:
git@gitlab.com:USER/REPOSITORY.git
您的电子邮件如下:
test@google.com
那么这个设置应该可以工作:
URL / path: https://test%40google.com@gitlab.com:USER/REPOSITORY.git
【讨论】:
【参考方案5】:如果您有从 GitLab 为您的项目生成的 SSH 密钥,您可以通过终端将其添加到 OS X 中的钥匙串。
ssh-add -K
执行后,系统会要求您输入在创建 SSH 密钥时输入的密码。
一旦 SSH 密钥在钥匙串中,您就可以将 GitLab 中的 URL 粘贴到 Sourcetree 中,就像通常克隆项目一样。
【讨论】:
对我来说这很好用。克隆 repo 存在问题,但在向钥匙串添加密钥后能够访问 repo 和所有分支。谢谢!使用命令 'ssh-add -K your_private_key' 获取密码。【参考方案6】:这对我有用,
第1步:点击+ New Repository
>从网址克隆
第 2 步:在 Source URL
中提供 URL,后跟您的用户名,
例子:
GitLab 回购网址:http://git.zaid-labs.info/zaid/iosapp.git
GitLab 用户名:zaid.pathan
所以最终到达网址应该是http://zaid.pathan@git.zaid-labs.info/zaid/iosapp.git
注意:zaid.pathan@
添加在 git 之前。
第 3 步:享受克隆 :)。
【讨论】:
【参考方案7】:使用 GitLab 中的 SSH URL:
第 1 步:从 GitLab 生成具有 默认值 的 SSH 密钥。
GitLab 提供了生成它的命令。只需复制它们,编辑电子邮件,然后将其粘贴到终端。使用默认值很重要。否则 SourceTree 将无法在没有额外配置的情况下访问 SSH 密钥。
第 2 步: 使用命令 ssh-add -K
将 SSH 密钥 添加到您的 keychain。
打开终端并粘贴上面的命令。这会将密钥添加到您的钥匙串中。
第 3 步: 重新启动 SourceTree 并使用 URL 克隆远程仓库。
需要重新启动 SourceTree,以便 SourceTree 选择新密钥。
第 4 步: 复制 GitLab 提供的 SSH URL。
第 5 步: 将 SSH URL 粘贴到 SourceTree 的 Source URL 字段中。
这些步骤已在 Mac OS 10.13.2 上使用 SourceTree 2.7.1 成功执行。
【讨论】:
【参考方案8】:Sourcetree 3.x 有一个接受 gitLab 的选项。见here。我现在使用 Sourcetree 3.0.15。在设置中,放置你的远程gitLab主机和url等。如果你现有的git客户端版本不再支持,最简单的方法可能是通过Tools->Options->Git使用Sourcetree嵌入式Git,在底部附近的Git版本中,选择嵌入式。可能会发生下载。
【讨论】:
这确实有效。一个陷阱是,必须在标有“密码”的字段中放置您在 GitLab 上创建的令牌。不是您通常使用的访问 GitLab 的密码。【参考方案9】:我最终使用了 GitKraken 。 我已在 30 秒内安装、验证并连接到我的仓库。
【讨论】:
以上是关于如何为 gitlab 集成 sourcetree的主要内容,如果未能解决你的问题,请参考以下文章
markdown 如何为两个GitLab帐户设置两个SSH密钥