一个优秀的团队合作离不开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. 苏州Uber优步司机奖励政策(3月28日~3月30日)

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

  2. 一个只有十行的精简MVVM框架(上篇)

    本文来自网易云社区. 前言 MVVM模式相信做前端的人都不陌生,去网上搜MVVM,会出现一大堆关于MVVM模式的博文,但是这些博文大多都只是用图片和文字来进行抽象的概念讲解,对于刚接触MVVM模式的新 ...

  3. 「Python」conda与pip升级所有的包

    conda: conda update --a pip: pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 sudo pip ...

  4. 180623-SpringBoot之logback配置文件

    SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在S ...

  5. jmeter关联三种常用方法

    在LR中有自动关联跟手动关联,但在我看来手动关联更准确,在jmeter中,就只有手动关联 为什么要进行关联:对系统进行操作时,本次操作或下一次操作对服务器提交的请求,这参数里边有部分参数需要服务器返回 ...

  6. C 关键字 标示符 注释

    一 关键字 1. 什么是关键字 关键字就是C语言提供的有特殊含义的符号 也叫做"保留字" C语言一共提供了32个关键字 这些关键字都被C语言赋予了特殊含义 auto double ...

  7. 前端开发工程师 - 01.页面制作 - 第4章.CSS

    第4章.CSS CSS简介 Cascading Style Sheet 层叠样式表:定义页面中的表现样式 history: CSS1(1996)--CSS2(1998)--着手CSS3草案(拆分成很多 ...

  8. lintcode 二叉树后序遍历

    /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * Tr ...

  9. 167. Add Two Numbers【LintCode by java】

    Description You have two numbers represented by a linked list, where each node contains a single dig ...

  10. 如何实现iframe页面与父级页面js交互

    处理办法:1.同一域下,相同端口2.父级.子集页面上同时标记 document.domain = "xxx.com" 操作内部元素:1.jQuery使用 iframe.conten ...