IBM Cloud Docs
Git Repos and Issue Tracking

Git Repos and Issue Tracking

Collaborate with your team and manage your source code with a Git repository (repo) and issue tracker that is hosted by IBM and built on GitLab Community Edition. 有关GitLab,的更多信息,请参阅 GitLab documentation

只邀请与您有私人或业务关系的人员来协作完成项目。 如果用户使用 Git 存储库邀请的目的不是为了进行项目协作,那么这些用户的服务访问权可能会被暂挂或撤销。

GitHub 和 Git 命令行都是 GitLab 的可访问替代项。

请勿将文件或问题中的监管数据存储在 Git 存储库中。 监管数据的处理过程目前尚未就绪。

Git Repos and Issue Tracking工具集成 支持团队以多种方式管理代码和开展协作:

  • 通过可让代码保持安全的精细访问控制来管理 Git 存储库
  • 通过合并请求复查代码并加强协作
  • 通过问题跟踪程序来跟踪问题并分享构想
  • 在 Wiki 系统上记录项目

因为此工具集成以 GitLab Community Edition 为基础构建且由 IBM 在 IBM Cloud Platform 上托管,因此有一些 GitLab 选项不可用。 例如,Delivery Pipeline 为 IBM Cloud 提供持续集成和持续交付,因此不支持 GitLab 中的持续集成功能。 此外,管理功能也不可用,因为它们由 IBM 管理。

将 Git Repos and Issue Tracking 与工具链配合使用

您可以使用包含 Git Repos and Issue Tracking 或 GitHub 工具集成的模板作为起始点,以创建可将 Git 存储库 (repos) 添加到的工具链。 或者,您可以从空工具链开始,并向其添加 Git Repos and Issue Tracking 或 GitHub 工具集成。 通过使用工具链,可以将 Git 存储库与资源组和 Continuous Delivery 服务实例相关联。

有关将工具链与 Git配合使用的更多信息,请参阅 使用 Git创建工具链

在本地使用 Git Repos and Issue Tracking

可以在本地访问存储在 Git Repos and Issue Tracking 中的 Git 存储库。 有关本地设置Git的说明,请参阅《 开始在命令行上使用Git》

Git Repos and Issue Tracking 仅支持使用 TLS1.2 的 HTTPS 连接。 如果使用Eclipse进行连接,可能需要在eclipse.ini文件中添加 -Dhttps.protocols=TLSv1.2,然后重新启动Eclipse,为Java™版本指定此协议。

向 Git Repos and Issue Tracking 进行认证

您的 IBM Cloud 登录名和密码仅用于在 Web 浏览器中向 Git Repos and Issue Tracking 进行认证。 您无法使用 IBM Cloud 用户凭证从外部 Git 客户机进行认证。 要从本地 Git 存储库完成远程 Git 操作(如 clonepush),您必须使用个人访问令牌或 SSH 密钥,向 Git Repos and Issue Tracking 进行认证。

将根据 IBM Cloud 登录信息填充在整个 Git Repos and Issue Tracking 中为您显示的显示名称。 当其他用户搜索要添加到其项目的用户时,此名称可能对其可视。 您可以从 概要文件页面 更新在整个 Git Repos and Issue Tracking 中为您显示的名称。

创建个人访问令牌

要通过 HTTPS 向 Git 存储库进行认证,您必须创建个人访问令牌。

  1. 在 Git Repos and Issue Tracking“用户设置”仪表板上,从菜单中单击头像,然后选择 编辑概要文件。 单击访问令牌。 在“访问令牌”页面,键入要创建访问令牌的应用程序名称。 例如,Git CLI
  2. 可选:选择访问令牌的到期日期。
  3. 选中 API 复选框以创建使用 API 作为作用域的个人访问令牌。
  4. 单击创建个人访问令牌。 在安全的位置记下访问令牌以供未来使用。
  5. 在 Git Repos and Issue Tracking“用户设置”仪表板上,从菜单中单击头像,然后选择 编辑概要文件。 点击账户。 在“账户”页面的“更改用户名”部分,找到您的Git Repos and Issue Tracking用户名。 您的用户名还会显示为您所创建的任何个人 Git 存储库 URL 的第一个分段。
  6. 使用 Git Repos and Issue Tracking 用户名和个人访问令牌,从外部 Git 客户机对 Git 存储库进行认证。

要了解更多信息,请参阅 个人访问令牌

创建 SSH 密钥

要创建 SSH 密钥,请参阅 生成 SSH 密钥对。 通过 SSH 认证访问存储库可能需要对代理和防火墙进行更多的配置。

要了解更多信息,请参阅 使用 SSH 密钥与 GitLab进行通信

验证主机密钥指纹

首次通过 Git 通过 SSH 连接到服务器时,Git 客户机会提示您接受服务器的主机密钥指纹。 您可以使用以下主机密钥指纹来验证与 IBM Cloud Git Repos and Issue Tracking 服务器的 SSH 连接。 仅当主机密钥指纹与以下代码片段中提供的服务器的指定值匹配时,才继续连接。

au-syd.git.cloud.ibm.com:
  ECDSA:
    SHA256:oUpjbxJ+UVIlBvcdcKuprZ0JEtCWkTu1yFTdfFHoEF8
    MD5:ca:34:27:f1:49:fd:b4:9d:e8:ce:d2:7b:99:a1:dd:98
  ED25519:
    SHA256:uUqxTjqUQuBjmQGynGb8pXX6FQ2Ag0VLAh4TtuSZMAQ
    MD5:87:ad:c9:26:bd:7f:bc:a8:1c:dc:07:ca:aa:d3:8c:9e
  RSA:
    SHA256:y+QM+SbgQ7SqzQXqwmJTPD0jni+qsDdqZg/sOgOFWbY
    MD5:70:71:95:b5:2a:b4:04:ad:12:b4:77:c6:cf:fe:35:c8
ca-tor.git.cloud.ibm.com:
  ECDSA:
    SHA256:xqeLs5qKCCNd/SmSTgFktFJW8nTqnF5BmwJSZggguJI
    MD5:fb:41:1a:b4:8c:4d:95:c3:67:d9:eb:4a:b1:94:c2:cb
  ED25519:
    SHA256:mT5EGA/63iaHQZrFkXevP+T/qaFN39JChMGUJtla4nE
    MD5:6f:f2:4e:0e:90:0b:2b:e7:fc:f8:d2:1a:16:35:16:fc
  RSA:
    SHA256:mNvCu12YAUeJVCNfiHNfBKgezh0zgwdwxBs8wXnhPP8
    MD5:60:d6:6a:2f:0c:db:52:e1:20:17:a9:3f:3f:fb:4d:91
br-sao.git.cloud.ibm.com:
  ECDSA:
    SHA256:+wLtj6TSQyY/4kp9pa8BVk+JvHqD0+L3Wq5hF3WnyCQ
    MD5:c2:6a:76:c6:03:86:a0:ca:4e:24:87:9a:50:c1:3d:66
  ED25519:
    SHA256:sFQy3djBGVtjYuLKWtbabS95QY+yL1JQw+Wfr7eWkvw
    MD5:f7:f2:39:f6:d0:a8:a6:07:9e:a6:c3:83:24:f0:7b:a3
  RSA:
    SHA256:3EgFqSRmbynYuCg7mpYO+K7PdSBvG0IJHr0e0Q4bikI
    MD5:af:9c:57:90:25:4d:0a:ed:5c:c5:30:97:95:de:9c:92
eu-de.git.cloud.ibm.com:
  DSA:
    SHA256:c7Bm79CLA5y4tmnI+jB+wYp8esbIUcOSMxzHtU+hhNY
    MD5:28:b7:ff:67:70:39:16:ed:fb:8a:8b:3c:26:45:b9:56
  ECDSA:
    SHA256:cRQsJFaZLfnQb4xOH68uZvWxuVXe0UQ9Z+ks/9dotnc
    MD5:f3:02:a4:c4:63:d6:3b:30:79:fa:37:7c:ba:2c:9e:81
  ED25519:
    SHA256:ZVuqymHanu+N1P+OJCwHcoRlzjpvGnjV001Mo8BFEzg
    MD5:84:90:72:ec:7d:ff:0e:72:01:b7:08:16:f2:76:21:87
  RSA:
    SHA256:33om5cGnbUduaEeKH+116IMzu2mMCHKOLTNPkmF/lNk
    MD5:b3:8f:02:34:12:03:8c:41:8e:4d:be:56:1c:fe:c8:8c
eu-gb.git.cloud.ibm.com:
  DSA:
    SHA256:Nt0JS/AQDue0WY7X/xRC5Weu3RTplWABACiCOku8CRc
    MD5:bc:a5:a2:5b:7b:c3:3d:7d:6e:d5:37:eb:08:a1:77:d3
  ECDSA:
    SHA256:UZPNkP+gRMINcgWSN50AeiDsOgnJGGTPXFxI/ASryag
    MD5:f2:29:e2:f0:b2:33:bd:8d:19:7d:f0:41:9a:a5:f0:fe
  ED25519:
    SHA256:k2VN8B5ouxW+mvyp/nX3Dq7U571rluVcMx0z1iUCnU0
    MD5:c6:b1:a7:4b:c7:c2:cf:38:17:32:f5:f7:8d:5b:53:a3
  RSA:
    SHA256:5hSoluX8hoPrChwtWZH0rEzz3Cn5bQP18cZ7xj17Wbg
    MD5:e4:3b:99:ae:4b:ff:f5:f7:96:cf:cf:9a:38:3f:c7:65
jp-osa.git.cloud.ibm.com:
  ECDSA:
    SHA256:k+FNBh6Yvth9bWyvKnfreYhS+3s/+2MX7q2ci/tFAY0
    MD5:a8:71:f1:dc:7a:28:9c:b6:fc:c6:54:1f:1c:c5:9c:08
  ED25519:
    SHA256:I62KQpR+VBmaJnInUj5AkStPA/Hpu555/tHBQjRjU7Q
    MD5:dc:29:99:b3:4c:2a:e3:e7:b3:9b:b2:00:74:d2:b3:89
  RSA:
    SHA256:FPyK4sO5dzIVI/aL9Ril8GIK+uv2jiNVnTqYKDgkF24
    MD5:18:4f:38:05:c8:68:61:e5:08:dc:a3:61:2d:13:45:c1
jp-tok.git.cloud.ibm.com:
  DSA:
    SHA256:jX4dD9ojut+OCzEtmsR6hDpK+gJ8g0B5V5k+beFzj7E
    MD5:5c:62:d4:35:32:63:5a:66:79:e3:bb:be:59:ce:41:a5
  ECDSA:
    SHA256:ppgYQJFtPxGlx5tWLKT+aKC535C8g4Xz4Uej2BXrd1k
    MD5:4c:60:e5:cd:0c:b9:3e:8e:25:dd:64:b3:7b:28:de:86
  ED25519:
    SHA256:xWVpw3fnjJB78HjTJOLQijjuCiQRXcPrCQ+5+rgzVLg
    MD5:0a:8f:2f:55:62:9b:c5:51:ab:4b:da:e9:81:e9:02:52
  RSA:
    SHA256:OGttrbZoUWU5/6yjxYq9kO+VCXdQB1JkTc9shgbzrE0
    MD5:c2:83:e8:3b:a8:b6:c5:da:cc:4c:26:b5:38:86:74:13
us-east.git.cloud.ibm.com:
  DSA:
    SHA256:onqeRZxk/GaxBVY+Bxl97UgW5rBQzTH1dJ7sGJDFUp8
    MD5:d0:82:ab:e7:43:4d:92:68:70:b9:23:44:c0:5a:e3:8a
  ECDSA:
    SHA256:IuHvGWVB3vBJNeZ/4SRKpVgRLZHB2FbmJfU5Toek4Hk
    MD5:ff:22:19:1e:83:0d:f2:bd:5d:32:84:c5:04:65:be:f6
  ED25519:
    SHA256:lxLtQ1Cdn5SG0ZClB9wFLSHODhJofaCUs37LdUnubNU
    MD5:97:10:bd:0e:e2:e4:84:bc:fb:71:36:99:02:02:f7:66
  RSA:
    SHA256:TF8Pcst2F9Ek3p3cJlXz06zMwwZkoq+d23r4URtOPD8
    MD5:f2:77:0c:e3:79:41:33:f5:fa:95:ce:cc:d1:dd:62:d0
us-south.git.cloud.ibm.com:
  DSA:
    SHA256:EX4AoOpgTqHDmZ97Klhgkz06+rSNDfe+AHZBnXzW+oc
    MD5:bc:67:d0:95:80:1f:1e:c3:70:4a:66:dd:57:3b:53:d7
  ECDSA:
    SHA256:BQx1OpGLx8cTkoL6RmftFgTGFHBz2tKPICJm5My4fa8
    MD5:2e:96:56:70:15:19:21:d6:96:d4:78:6e:84:eb:e9:d7
  ED25519:
    SHA256:XvuvoW6oaJjzb3BnCBrdB03B0Mbfu1Eb1/hmoLdoPDQ
    MD5:e1:02:84:2c:af:d1:e7:b0:0c:6f:9c:0c:ab:c1:ec:fb
  RSA:
    SHA256:PEAncMcnz8jNEOmBabCtJ13cg0oGI0YxLOMWVOkDgjc
    MD5:74:31:4e:57:e7:c7:12:c4:c5:96:78:f4:18:8d:63:60
eu-es.git.cloud.ibm.com:
  ECDSA:
    SHA256:jbsXwbEhA7FTdqrJ9aXpdA8l5qgexfE/wlTZFKD5qnw
    MD5:7f:9e:87:04:01:99:c9:e3:6a:41:e6:48:57:8a:86:45
  ED25519:
    SHA256:IMCPA+d8NHAgkkV725xTgfLcVahg3NtS8U9ZuSBeDFY
    MD5:1d:ce:2c:52:8c:81:22:27:48:47:c3:ce:b9:ba:76:ae
  RSA:
    SHA256:HIsuc+yc2pFzIpalxtHkXgduPSvHm4F352Zc9WszeZU
    MD5:b7:09:56:fb:68:76:fb:47:a1:78:01:64:fc:22:98:3a

您可以使用以下代码片段,通过连接到 us-south.git.cloud.ibm.com 服务器,通过 SSH 验证无外设连接到 Git 的主机密钥指纹。 要将此代码用于其他服务器,请更新 HOSTEXPECTED FINGERPRINT 值。

HOST="us-south.git.cloud.ibm.com"
EXPECTED_FINGERPRINT="SHA256:PEAncMcnz8jNEOmBabCtJ13cg0oGI0YxLOMWVOkDgjc"
ssh-keyscan -t rsa $HOST > /tmp/hostkey
FINGERPRINT=$(ssh-keygen -lf /tmp/hostkey | cut -d ' ' -f 2)
if [ "$EXPECTED_FINGERPRINT" == "$FINGERPRINT" ]; then
  cat /tmp/hostkey >> ~/.ssh/known_hosts
fi

配置防火墙以允许 Git Webhook 消息

您可以更新防火墙配置,以允许来自 Git Repos and Issue Tracking 的 Webhook 消息到达防火墙后的端点。 要允许 Git Webhook 消息,请打开到特定区域的 子网范围 的流量。

更新显示名称

您可以在整个 Git Repos and Issue Tracking中更新显示的显示名称。

  1. 在 Git Repos and Issue Tracking“用户设置”仪表板上,从菜单中单击头像,然后选择 编辑概要文件。 点击简介。 在“概要文件”页面的 主要设置 部分中,更新您的全名。
  2. 单击 更新概要文件设置 以更改在整个 Git Repos and Issue Tracking中为您显示的名称。

物理文件和存储库大小限制

文件严格限制为 100 MB。 建议的存储库大小限制为 1 GB。 如果您的存储库超过 1 GB,那么您可能会收到电子邮件,其中包括减少存储库大小的请求。