一个优秀的团队合作离不开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. 第6章 HDFS HA配置

    目录 6.1 hdfs-site.xml文件配置 6.2 core-site.xml文件配置 6.3 启动与测试 6.4 结合ZooKeeper进行自动故障转移 在Hadoop 2.0.0之前,一个H ...

  2. python教程(二)·数据结构初探

    这一节,我来简单讲讲python自带的数据结构. 列表(list) 列表是常用的python数据结构,类似于C语言的数组,用来存储多个元素,与之不同的是,C语言的数组中的元素的类型是相同的,而列表可以 ...

  3. U盘kali系统安装

      正言: 起初先百度了一下U盘安装Kali的资料,有很多版本和方法,当然还是以百度经验为例开始操作https://jingyan.baidu.com/article/cdddd41ca1027e53 ...

  4. Leecode刷题之旅-C语言/python-204计数质数

    /* * @lc app=leetcode.cn id=204 lang=c * * [204] 计数质数 * * https://leetcode-cn.com/problems/count-pri ...

  5. JavaScript预解析

    定义:JavaScript"预解析",可以理解为把变量或函数预先解析到它们被使用的环境中. 通俗点讲,即认为浏览器在正式运行JavaScript代码前, 第一步,会预先根据关键字v ...

  6. Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence

    这个题是dp, dp[i]代表以i开始的符合要求的字符串数 j是我们列举出的i之后一个字符串的开始地址,这里的C是组合数 dp[i] += C(j - i - 1, A[i]] )* dp[j]; # ...

  7. 20145226夏艺华 JAVA预备作业1

    博客阅读总结 关于师生关系: 学生和老师之间我觉得关系时多元化的,不能拘泥于单独的一种关系:灌输与被灌输,教授与被教授--我认为,在不同的课程阶段,师生之间的关系都可以发生变化.前期的老师更像是一个指 ...

  8. GitLab 自动触发 Jenkins 构建

    GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...

  9. == vs === in Javascript

    本文来自网易云社区 作者:魏文庆 如果你只想知道==与===的区别,请直接看总结,当然我更希望您能耐心看完全文.Javascript中用于相等比较的操作符有两个==和===.==我们通常称为" ...

  10. C#监听锁屏代码

    今天,偶然间在技术群看有人问,怎么监听锁屏. 在此处记录一下 public class Constrctor { public Constrctor() { SystemEvents.SessionS ...