一个优秀的团队合作离不开git,一个优秀的程序员也离不开git。gitkraken是我在进行软工实践这门课接触到的git的UI界面的工具,它给我留下的印象就是非常好用和方便

怎么个方便法呢?

  • 方便的安装方法:

    • 百度gitkraken,第一条就是官网的下载地址。这里我也给大家加上了链接:戳这里
    • 下载下来有一个.exe的文件,双击运行,它就会自动帮你安装完毕的!
  • 登录:

    • 刚刚打开的gitkraken就是如图所示(我已经登录完毕)。这里我们有多种选择,我们可以用github的账号密码,也可以申请一个gitkraken的账号(不过这个进去要自己绑定GitHub的账号),甚至可以创建一个自己的GitHub的账号!
    • 相信大家都是有了GitHub的账号才开始着手git的操作的,我们这里选择的是点击“Sign in with Github”
    • 它会弹出叫我们验证github的账号和密码,上图我已经授权了,所以显示的是授权成功的信息。
    • 这时返回我们的gitkraken可以发现已经登录成功
  • 创建Generate SSH key

    • 点击右上角按钮,并选择preferences,进入后选择Authentication

    • 我们可以看到我们的Generate SSH key是空的,现在我们点击去创建一个,创建成功后返回到我们的主界面
  • clone远程仓库

    • 点击左上角的文件图标

      进入界面后点击clone
    • 先选择自己要放的本地仓库的路径
    • 进入github,选择自己要clone的仓库,将对应的SSH路径copy下来

      然后回到gitkraken将copy的路径复制到URL框里,然后点击clone the repo 的按钮
  • 管理本地,并remote团队项目

    • 首先我们先创建本地的dev分支。在我们的远程仓库那边右击的对话框中,选择“checkout origin/dev”

      这时我们可以发现本地已经创建好了dev分支,并选中在这个dev分支上工作
    • 添加团队项目。点击remote上的加号按钮,可以弹出相应的选择框。

      这时我们选择我们的项目(这里我演示的stardust的团队项目),相应选中后,编辑在gitkraken要显示的项目名称,点击“add remote”
    • 这时我们在分支图上可以很明显的看到团队项目和我们本地自己编辑的分支,以及自己远程仓库的情况
  • fetch项目,并将团队项目与自己的项目合并

    • 这个是团队合作中很重要的一步。首先fetch团队最新的进展,还是右击团队项目栏,在对话框中选择“fetch xxx”,即可获取团队最新的动态。
    • 接下来选择相应的分支merge到本地(这一步很大的几率会出现冲突,大家不要慌张)。还是右击,在对话框中选择“merge xxx/dev to dev ”

      如果显示success的话,恭喜你,你的项目和团队的项目是没有冲突的。如果出现冲突,将会出现冲突文件,gitkraken会提醒你去解决冲突。一般来说,我们选择的都是手动的来解决冲突问题。

      这里会显示冲突的文件或者改变的文件,我们可以单击相应的改变的文件进去查看,merge下来的文件跟我们本地的文件的差异体现在哪里,然后根据相应的逻辑去判断。

      解决了每个问题我们可以在相应的问题后面mark the changes。
  • 注意事项:

    • 每次在fetch团队项目时,记得先commit,将自己编辑的内容保存起来。否则可能在手动解决冲突的时候,或者gitkraken在自动解决冲突的时候,会改变自己之前编辑的内容,造成代码的丢失。本地的commit相当于在本地保存了一份副本,有利于我们版本的回退。切记!!!
  • 后悔药

    • gitkraken提供了强大的版本回退功能。上面我们说过了,我们经常在解决冲突的时候删掉或改变了一些我们不知所以然的代码。这时我们在当前无法处理的情况下,我们可以选择的是do once again。首先选择你在本地的,想回退到的版本。像我当前选中的是我想后退六个版本

      然后右击选择“hard-discard all changes”

      接下来打开你的项目,你会发现,你要的版本回来啦!

Gitkraken系列-Gitkraken使用操作的更多相关文章

  1. Gitkraken系列-Gitkraken修改用户名

    修改用户名 为了方便项目中代码的管理,需要重新编辑用户名. 点击右上角的图像即可看到如下图 3‑1所示的下拉菜单,鼠标悬于Profile上,会出现一个Edit按钮. 图 3‑1 编辑个人信息 点击Ed ...

  2. 使用Gitkraken进行其他Git操作

    使用Gitkraken进行其他Git操作 查看某次 commit 的文件改动 使用 Gitkraken 能非常方便的看到任意一次的 commit 对项目文件的改动. 具体操作是:在树状分支图上单击某个 ...

  3. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  4. Matlab命令系列之目录操作

    Matlab命令系列之目录操作 filesep 用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux是斜杠(/).有时此命令结合ispc命令使用,可以灵活的设置目录分割符. fullf ...

  5. jquery系列教程3-DOM操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  6. XML系列之--Linq操作带属性的XML(四)

    关于XML,之前解析过电文收发方面的,就是所谓的带表头.前缀(命名空间)SOAP格式.这次需求是解析一个xml的模板(xls内容),然后填充数据,最后保存.需要时可转换xls.pdf等文件.关于这种带 ...

  7. Hadoop系列007-HDFS客户端操作

    title: Hadoop系列007-HDFS客户端操作 date: 2018-12-6 15:52:55 updated: 2018-12-6 15:52:55 categories: Hadoop ...

  8. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  9. Linux学习系列八:操作网口

    一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...

随机推荐

  1. Spark运行模式_spark自带cluster manager的standalone cluster模式(集群)

    这种运行模式和"Spark自带Cluster Manager的Standalone Client模式(集群)"还是有很大的区别的.使用如下命令执行应用程序(前提是已经启动了spar ...

  2. QOS-配置拥塞避免机制

    QOS-配置拥塞避免机制 2018年7月7日 20:29 尾丢弃及其导致的问题: 队列满时路由器进行尾丢弃,即新到的所有数据包都全部丢弃 丢弃的结果造成高延迟.高抖动.丧失服务保证.TCP全局同步.T ...

  3. github上的golang双向rpc,基于原生“net/rpc”库实现,可以注册回调

    github上的golang双向rpc,基于原生“net/rpc”库实现,可以注册回调.仅支持一个server和一个client交互. 地址:https://github.com/rocket049/ ...

  4. 构建工具——maven的补充

    1.安装jar到本地仓库 有时候有部分jar由于在maven的中央仓库,只能引用本地的,可以将jar安装到本地仓库进行操作(请先确保mvn命令可以正常运行) mvn install:install-f ...

  5. ioc解析

    引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础上开花结果.但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义,这不能不 ...

  6. 苏州Uber优步司机奖励政策(12月28日到1月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. SpringBoot-02:SpringBoot中的POM文件详细解释

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 我把pom文件,以及它的详细解释发出来 <?xml version="1.0" en ...

  8. 这样的SQL居然能执行

    select /*! distinct   cities.id from cities  join countries on cities.id = countries.id limit 10 */;

  9. Objective-C Block数据类型 @protocol关键字

    Block数据类型 Block封装了一段代码 可以在任何时候执行 Block可以作为函数参数或者函数的返回值 而其本身又可以带输入参数或返回值 苹果官方建议尽量多用Block 在多线程 异步任务 集合 ...

  10. 397. Longest Continuous Increasing Subsequence

    Description Give an integer array,find the longest increasing continuous subsequence in this array. ...