SourceTree + GitLab Enterprise Edition 项目导入

一、SourceTree 安装

直接在 SourceTree 官网 https://www.sourcetreeapp.com/ 下载安装适合自己系统的版本,之前 SourceTree 客户端不需要创建账号之类的,可以直接进行 git 地址 clone,最近版本需要进行账号登陆,如果没有账号创建一个,如果有账号,也可以用其他人的账号进行安装。

二、GitLab 配置

SourceTree 支持账号登陆,也支持最原始的 SSH Key 进行登陆,如果是公司内部搭建的而且是没有做过任何修改的企业版,如果要支持账号登陆就需要支持双重认证。

You can also use personal access tokens to authenticate against Git over HTTP. They are the only accepted password when you have Two-Factor Authentication (2FA) enabled.

如果没有开启双重认证就会提示你验证失败。于是只好选择 SSH Key 方式,通过自己生成 SSH Key 在默认用户录下

步骤1.检查是否已经存在SSH Key

打开电脑终端,输入以下命令:

ls -al ~/.ssh   

会出现两种情况  

步骤2. 生成/设置SSH Key

继续上一步可能出现的情况   

(1)情况一:终端出现文件id_rsa.pub 或 id_dsa.pub,则表示该电脑已经存在SSH Key,此时可继续输入命令:

这样你需要的SSH Key 就已经复制到粘贴板上了,然后进行步骤3

< ~/.ssh/id_rsa.pub  

(2)情况二:终端未出现id_rsa.pub 或 id_dsa.pub文件,表示该电脑还没有配置SSH Key,此时需要输入命令:

ssh-keygen -t rsa -C “your_email@example.com”  

选一般的常用的邮箱即可,不常用的邮箱一般不推荐)            

 默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件,此时终端会显示:

连续回车即可,也可能会让你输入密码,密码就是你的开机密码 

然后把公钥放在Gitlab 上面的个人设置 SSH Keys 选项中。

三、git 项目导入

因为 SourceTree 默认认为你有 git 命令支持,假如电脑里面没有 git 环境,是不能够通过 SourceTree 的 git 地址直接 clone 的,没有任何提示。

这个时候就需要用 Mac 或者 Windows 的命令终端去查看支不支持git 命令,Window 如果没有安装那就需要主动去安装 git,Mac 上面如果没有安装,使用 git 命令时会提示你安装,当然你也可以自己去官网下载安装,并且配置 git 路径。

安装好 git 之后,直接在 gitlab 项目里面拷贝 git 地址到 SourceTree 的通过 url clone 项目的选项,可以自定义项目路径,然后点击克隆即可。

四、git 项目提交测试

一般拉取权限很低不需要用到 SSH Key,提交权限需要用到 SSH Key。这个时候通过确定提交是否成功来查看 SSH Key 配置的正确。如果本地提交成功,可以通过 gitlab 网页查看操作是否成功,如果失败那就可能需要重新配置 SSH Key。

<转载>真正的敏捷工作流 —— GitHub flow

GitHub flow,顾名思义,就是 GitHub 所推崇的 Workflow。千万不要理解成 GitHub 上才能用的 Workflow

其官网的描述为:

GitHub flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly.

从中我们可以得出的信息是 —— 这段描述完全就是废话 GitHub flow 具有很高的通用性。

为了更便于了解 GitHub flow 的内容,我们从流程图入手:

真正的敏捷工作流 —— GitHub flow

其中的主要流程为:

  • 新建分支(Create a branch);
  • 提交修改(Add commits);
  • 创建 PR(Open a Pull Request);
  • 代码评审(Discuss and review your code);
  • 部署(Deploy);
  • 合并(Merge);

细心的同学可能很快会发现,GitHub flow 最大的亮点在于部署(Deploy)发生在 合并(Merge)之前,这就是 GitHub flow 的核心,非阻塞式集成 —— 在产生任何副作用之前得知当前修改的所有集成效果,达到真正的持续集成。

GitHub flow 有什么优势?

GitHub flow 的核心优势在于其流程带来的自动化可能性,能够做到其它流程无法实现的检查过程,并极大简化开发团队的体力劳动,真正发挥自身的价值。

如何开始使用 GitHub flow?

使用 GitHub flow 的基本要求有:

  • 具备一个代码版本控制环境;
  • 具备一个持续集成环境;
  • (可选)具备 CI 环境的管理员权限;
  • 能够创建一个有权限访问 VCS 平台的机器人帐号;
  • 能够自由使用 VCS 平台的 WebHook API;
  • 能够自由使用 CI 平台的 Trigger API;
  • (可选)能够自由使用 CI 平台的状态查询 API;
  • 能够创建一个高可用的内部服务器用于机器人帐号的运行;
  • 能够决定开发团队的工作流程;
  • 能够投入成本改善基础设施;

遗憾的是,我至今没有过这种条件,如果你有能力去实践 GitHub flow,希望能够珍惜这次改善开发体验的机会,让更多人了解这种流程优化带来的巨大效率优势。

如果有任何具体的技术问题,也欢迎进一步的讨论。

写在最后

以我个人的体验,GitHub flow 是 世界上唯一的真理 真正能够拯救开发效率的敏捷实践,将开发人员真正从体力劳动中解放出来,从而能够专注于学习与思考。

如果你也觉得 GitHub flow 真正拯救了你的项目开发,不妨将它继续推广下去。

转自:https://www.infoq.cn/article/ICx4zr8mpIYO6kD9Qveb