用sourcetree对gitlab进行项目管理

2023-05-16

前言

目前公司项目存放在gitlab ce上,由于开发人员用的系统有Windows和Mac,所以选择了比较容易上手的sourcetree进行管理
该管理基于了git-flow和fork-flow的结合

sourcetree跳过注册的安装

下载链接 https://www.sourcetreeapp.com/

1.打开安装包,到下图界面时,关闭安装界面
在这里插入图片描述
2.进入%LocalAppData%\Atlassian\SourceTree目录

创建一个accounts.json文件,写入以下内容

[
  {
    "$id": "1",
    "$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "Authenticate": true,
    "HostInstance": {
      "$id": "2",
      "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
      "Host": {
        "$id": "3",
        "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
        "Id": "atlassian account"
      },
      "BaseUrl": "https://id.atlassian.com/"
    },
    "Credentials": {
      "$id": "4",
      "$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
      "Username": "",
      "Email": null
    },
    "IsDefault": false
  }
]

3.打开安装好的软件后会给出提示
在这里插入图片描述
因为是使用git客户端 ,所以选择了不使用Mercuial。

到此为止,sourcetree就已经安装成功啦~

sourcetree的连接

1.生成ssh keys

1)操作/在终端打开
2)在命令行中输入:
ssh-keygen -t rsa -C “你在gitlab上注册的邮箱地址”
3)提示输入密码两次(也可以敲两次回车不设置密码)
4)进入C:\Users\Administrator.ssh目录
5)id_rsa和id_rsa.pub为一对秘钥,前面为私钥,后面为公钥

2.在gitlab配置ssh key

1)在用户设置中找到SSH Keys
2)将公钥的内容粘贴在key中,title可以随意
3)add key

3.在source配置ssh key

1)打开软件
2)工具/选项/一般
3)在SSH客户端配置处选择和公钥对应的私钥地址
4)SSH客户端选择OpenSSH

远程仓库的连接

软件配置

1.点击remote
2.点击添加一个账户
3.因为我们用的是gitlab社区版,所以选择Gitlab CE
4.填写gitlab所在URL地址
5.点击刷新Personal Access Token按钮,会弹出对话框填写用户名密码,这里的用户名就是你的gitlab用户名,密码则需要回到gitlab获取

获取token

1.登录gitlab,点击用户头像
2.下拉框选择设置选项
3.在设置页面中选择Access Tokens
4.创建一个token,给token赋权和使用时间
5.生成的token复制好

填写token

回到软件刚才需要填写密码的地方,将token填写在密码处即可

使用远程仓库

创建好远程账户之后,就可以在软件上直接看到仓库中的所有项目,更加方便克隆项目到本地

gitlab管理流程

首先,我们假设主仓库M为,只有一个管理员可以对其进行管理操作,其他人仅为开发者。
1.开发者基于主仓库M,frok一个属于自己的仓库m到自己的gitlab账户中;
2.开发者将仓库m,clone到本地;

1)打开软件
2)点击‘+’
3)选择clone
4)将仓库m地址复制到原路径
5)选仓库在本地的地址(高级选项中可以选择检出哪个分支)
6)克隆
7)选择git工作流,用git flow初始化本地仓库
在这里插入图片描述

3.假设有一个功能需要开发者开发(可以根据自己的需求创建不同的分支,以下算是通用示例)

1)点击git工作流
2)选择新建功能
3)创建新的分支
4)双击即可进入相应的分支
5)此时在本地创建了一个test分支,点击推送,选择要推送的本地test分支,点击确定,即可完成本地test分支的推送
6)本地仓库创建文件或者发生修改时,sourcetree会自动检测到,显示未提交的更改
7)点击提交按钮可以查看本地的更改
8)暂存更改文件
9)带上更改信息提交到远端仓库m
10)点击git工作流,选择完成功能,可以选择将test分支合并到哪个分支上
11)如果有冲突文件,可以点开冲突文件进行修改
(出现了<<、==、>>,其中<<<<与>>>>之间表示要合并的分支下的代码,
feature/2表示要合并的分支名称)

4.merge request

1)回到gitlab自己的仓库m,如果相对于源仓库M有更改,页面会有merge request按钮
2)点击可以显示你想要提交的请求
3)配置好想要合并的分支和请求说明即可
4) 建议说明形式为:‘ type:说明内容’
注:type类型可以有以下几种:
feat(新特性), fix(修改问题), docs(文档修改), style(代码格式修改, 注意不是 css 修改),
refactor(代码重构), test(测试), chore(其他修改, 比如构建流程, 依赖管理)

关于fork仓库同步源仓库

sourcetree的设置里可以添加远程仓库,然后直接从上面拉取就可以了。

项目issues

测试人员可以在issues里面给每个开发者发送对应错误,标签表明错误等级,设置错误解决最晚时间

请求合并的基本流程大致如下:

开发者在本地仓库创建一个功能开发专用的分支。

开发者将分支推送到远程仓库

开发者发起合并申请

团队成员review代码,展开讨论或者修改他们。

项目维护者合并该分支到正式仓库然后关闭合并申请。

(目前就先写到这里,如果有修正有更新的内容会及时上传的,谢谢观看)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用sourcetree对gitlab进行项目管理 的相关文章

  • 使用 Maven 在 gitlab 中运行 (Docker) 测试容器

    我正在 gitlab ci cd 管道中工作 该管道使用 maven 和 docker 执行其所有命令 不包括部署 在本例中 我尝试运行集成测试 由 Maven 启动 它使用测试容器 用于 mysql 数据库 这些测试在本地运行时工作正常
  • 如何提取 docker 镜像的所有替代标签?

    我使用构建管道管理 gitlab 所有组件都封装在来自官方 gitlab 维护者的 docker 镜像中 每当我更新时 通常每周一次 我需要检查 gitlab gitlab runner helper 是否仍然适用于当前最新版本的 gitl
  • 将 git 存储库添加到 VSP 上的现有文件夹

    我的设置如下所示 裸仓库在我的根 srv Folder 本地仓库在我的电脑上 Gitlab 仓库 on well Gitlab 我添加了两个源 Gitlab 和我的 Bare Repo 将所有更改从本地计算机推送到源 现在我想在我的中设置一
  • xcodebuild:错误:“APP.xcworkspace”不存在

    我正在尝试使用 gitlab 设置 CI 当我尝试在本地构建时 出现此错误 xcodebuild error APP xcworkspace does not exist APP 不是真实名称 我也在使用 CocoaPods 我在终端中运行
  • 如何在私人项目 gitlab 中使用个人访问令牌通过 https 进行 git 克隆

    我想在我的 mac 上 git 克隆一个具有两因素身份验证的私有存储库 我的 gitlab 中已经有一个个人访问令牌 并且我正在尝试找到在 vscode 终端上运行的正确命令 omarfuentes 192 git 克隆https gitl
  • 在 Terraform 中引用 gitlab 秘密

    我对 Terraforms 和 gitlab CI 很陌生 我想用它来做一些事情 我想使用 Terraform 创建 IAM 用户和 S3 存储桶 使用策略允许该 IAM 用户对此 S3 存储桶执行某些操作 将 IAM 用户的凭证保存在工件
  • 提交消息中的 Git 魔术关键字(签名者、共同创作者、修复等)

    Git 命令本身supports https git scm com docs git commit the Signed off by Person s name
  • 意外提交敏感信息 - GitLab

    我不小心提交了包含敏感数据的文件 我需要通过删除敏感数据来更新该文件 并确保旧版本不会出现在历史记录中 据我所知 那些在本地克隆了存储库的人仍然可以访问它 但是 一旦他们提取最新的数据 是否可以通过设置方式让他们看不到敏感数据继续前进或无法
  • 如何将标签推送到 CI 中的分支?

    我想将手动作业添加到我的拉取请求中 以在运行手动作业时标记我的源分支 该标签将触发我的 bitrise 配置的构建 然而 当我尝试推送我的标签时 我遇到了这个问题 注意 我尝试将标签推送到的分支不受保护 git checkout CI CO
  • 有什么方法可以在 Jenkins 中获取 Gitlab 管道工件吗?

    我在gitlab中有一个项目 该项目会在存储库中的每次签入时构建 并在 gitlab 管道成功时创建构建工件 我想在我的詹金斯管道工作中获得这些构建工件 有什么办法可以做到这一点吗 我在 Jenkins 中找不到任何插件来执行此操作 任何帮
  • 动态包含/排除 Gitlab Pipeline 中的作业

    我有一个有几个阶段的管道 detect test build deploy The detect阶段检测应用程序的类型和test and build阶段的作业根据计算结果包含或排除detect The detectstage 将其值写入名为
  • 如何在 GitLab CI 中显示来自另一个存储库的测试

    因此 我的项目包含单元测试 当我在 GitLab 中配置 CI 系统后发出合并请求时 它们会很好地显示为绿色或红色圆圈 但现在我也有一些集成测试 它们驻留在单独的存储库中 你为什么问 因为我有多个微服务需要一起测试 并且每个微服务都有自己的
  • Gitlab CI 运行程序未构建或显示任何输出

    昨天我从 Gitlab 7 x 升级到 8 0 4 几乎一切都很顺利 我之前使用 CI 没有问题 升级后必须迁移或重新开始 我选择重新开始 因为我只有一个项目 我多次添加了一个新的 shell 运行程序 尝试了 gitlab ci mult
  • 用于指示存储库已弃用的 Git 挂钩

    我们有一个存储库 托管在 GitLab 实例上 少数项目仍在引用该存储库 但已被弃用 取而代之的是另一个解决方案 有什么方法可以将存储库标记为 已弃用 吗 理想情况下 每个fetch来自此存储库 作为git submodule update
  • 在 Docker 中使用私有模块构建 Go 应用程序

    我正在尝试在依赖于私有子模块的 docker 容器中构建一个 go 项目 我本来希望 mount type ssh会将我的 ssh 凭据传递给容器并且它会起作用 目前我可以在本地构建 只需制作GOPRIVATE变量集和git config
  • GitLab CI语法来编写FOR循环语句?

    以下是 gitlab ci yml 文件中提到的脚本 此 GitLab CI 配置有效 但是 当运行 CI CD 构建时 作业会失败 与 FOR 循环语法有关吗 deploy dv stage deploy dv variables GIT
  • 推送到 Git (GitLab) 时出现错误 401

    我收到错误 Total 4 delta 2 reused 0 delta 0 error RPC failed result 22 HTTP code 401 当推送到 GitLab 上的 git 存储库时 它曾经有效 我遇到了同样的问题
  • 在 .gitlab-ci.yml 上找不到curl命令

    我有一个 gitlab ci yml 文件 它创建一些 docker 镜像并将其推送到 AWS ECR 当我运行curl命令将一些工件推送到远程存储库时 它显示curl 未找到 我已经在使用 openjdk 映像进行 gradlew 构建
  • 如何通过 gitlab-rails 更改电子邮件地址(避免电子邮件重新确认)

    当我等待将合并请求引入 Gitlab 以避免此问题时 我需要一种解决方法来通过 gitlab rails 控制台编辑用户的电子邮件地址 使用这个 user User find by name test user email email pr
  • bash:gitolite:找不到命令

    我正在尝试使用 Gitolite 在 Gitlab 中创建一个新分支 我完成安装步骤 当我遇到 设置 gitolite 部分时 我遇到了麻烦 我跟着这个link http sitaramc github com gitolite setup

随机推荐

  • 关于双系统redhat7.6网络不可用

    博主安装的双系统是windows10和redhat7 6 xff1b 本来安装完一个星期内都是正常的 xff0c 两个都可以上网 xff0c 但是不知道是不是有一天windows自动更新了的原因 xff0c redhat突然就连不上网了 此
  • updateFill不生效

    mybatis plus core版本 xff1a 3 4 1 现象 xff1a insertFill正常 xff0c 但是updateFill一直执行不到 原因 xff1a 因为实体的参数名称没有定义为et 注 xff1a Constan
  • java指定时间,增加一年、一天、减十天等

    代码如下 xff1a span class token keyword public span span class token keyword static span span class token keyword void span
  • vue入门

    1 安装node xff08 node和npm是绑定的 xff0c 安装了node xff0c npm自然也就有了 xff09 xff1b 2 设置淘宝镜像 npm config set registry https registry np
  • 系统调用和进程切换时的寄存器信息保存在哪里?

    系统调用是什么 xff1f xff1f xff1f 系统调用是操作系统为用户提供的一系列API xff1b 系统调用将用户的请求发给内核 xff0c 内核执行完以后 xff0c 将结果返回给用户 xff1b 以open为例 xff0c 进行
  • 给一副扑克牌,求最长的顺子

    span class hljs preprocessor include lt iostream gt span span class hljs preprocessor include lt vector gt span span cla
  • lvs的四种工作模式及其优缺点比较

    1 VS NAT xff08 地址翻译实现虚拟服务器 xff09 调度器接受到客户端的请求之后 xff0c 根据调度算法 xff0c 将客户端的的请求发送给服务器 xff0c 服务器处理完请求 xff0c 查看默认路由 xff08 NAT模
  • 通过Linux学习RTOS

    通过Linux学习RTOS 原文 xff1a http blog csdn net zoomdy article details 50549901 mingdu zheng at gmail dot com RTOS应用很广 xff0c 种
  • 嵌入式软件使用POSIX接口的优缺点

    嵌入式软件使用POSIX接口的优缺点 POSIX xff0c 即Portable Operating System Interface xff0c 即可移植操作系统接口 是操作系统为应用程序提供的接口标准 POSIX标准同样适用于嵌入式软件
  • Cortex-M0/M0+屏蔽优先级低于BASEPRI设定的中断

    Cortex M3 M4 M7有BASEPRI特殊功能寄存器可以屏蔽优先级低于BASEPRI设定值的中断 xff0c 但Cortex M0 M0 43 没有BASEPRI寄存器 xff0c 不过仍然可以实现相识的功能 mingdu zhen
  • 双系统win+redhat7.6安装

    下载ISO镜像 xff1a 我从msdn itellyou cn下载了Windows10的镜像文件 xff0c 利用UltralSO刻录到U盘 xff08 打开软件 xff0c 选择菜单栏的文件 gt 打开 xff0c 选择下载的镜像 xf
  • 大道至简——RISC-V架构之魂(中)

    本文为 RISC V CPU设计 专栏和 RISC V嵌入式软件开发 专栏系列文章之一 注 xff1a 本文节选自 硅农亚历山大 所著国内第一本系统介绍CPU与RISC V设计的中文书籍 手把手教你设计CPU xff1a RISC V处理器
  • 嵌入式系统的分类

    按照嵌入式系统所使用的操作系统 xff0c 可以将嵌入式系统分成三类 xff1a Rich OS类 RTOS类 Bare metal类 mingdu zheng at gmail dot com https blog csdn net zo
  • 第04课: wiki 在 GitHub

    Git gt wiki什么人可以用 wiki xff1f wiki 本质是什么 xff1f GitHub wiki 的最佳实践 xff1f 提问 Git gt wiki GitHub 是基于 Git 的社交平台 xff0c 当然的 xff0
  • 路由器开发知识汇总

    ip route get lt address gt proc net nf contrack xff0c NAT操作只会修改回复方向 xff08 第二个 xff09 四元组 QNX route get lt address gt Wind
  • USB HS-PHY眼图调试

    1 USB2 PHY AFE 1 1 USB 2 0 FS PHY github ultraembedded core usb fs phy NOP USB transceiver for all USB transceiver which
  • USB SS-PHY Tuning

    1 USB 3 0 PIPE PHY 1 1 USB 3 0 PHY USB 3 0 PHY 61 PIPE wrapper 43 PCS 43 SerDes 1 2 SS PHY电流源 CML电流源串联在NMOS管的Source中 xff
  • TF系列在PX4上的应用

    北醒TF 系列在PX4 上的应用 PX4 有着自己独特的优势 xff0c 受到广大爱好者的喜爱 TF 系列是北醒推出的性价比极高的激光雷达 xff0c 受到广大爱好者的追捧 本文介绍TF 系列和PX4 的连接方法 本文档基于QGroundC
  • 【Ardupilot (APM)】 Benewake(北醒) TFmini-i CAN 基于PixHawk的运用说明

    目录 一 前言二 TFmini i CAN 配置三 接线四 飞控参数设定4 1 避障的常用设置4 2 避障测试4 3 定高的常用设置4 4 定高测试 五 常见问题 一 前言 TFmini i CAN PixHawk1 CAN 端口或任何已刷
  • 用sourcetree对gitlab进行项目管理

    前言 目前公司项目存放在gitlab ce上 xff0c 由于开发人员用的系统有Windows和Mac xff0c 所以选择了比较容易上手的sourcetree进行管理 该管理基于了git flow和fork flow的结合 sourcet