Gitkraken的使用
一个优秀的团队合作离不开git,一个优秀的程序员也离不开git。gitkraken是我在进行软工实践这门课接触到的git的UI界面的工具,它给我留下的印象就是非常好用和方便
怎么个方便法呢?
方便的安装方法:
- 百度gitkraken,第一条就是官网的下载地址。这里我也给大家加上了链接:戳这里
- 下载下来有一个.exe的文件,双击运行,它就会自动帮你安装完毕的!
登录:
- 刚刚打开的gitkraken就是如图所示(我已经登录完毕)。这里我们有多种选择,我们可以用github的账号密码,也可以申请一个gitkraken的账号(不过这个进去要自己绑定GitHub的账号),甚至可以创建一个自己的GitHub的账号!

- 相信大家都是有了GitHub的账号才开始着手git的操作的,我们这里选择的是点击“Sign in with Github”

- 它会弹出叫我们验证github的账号和密码,上图我已经授权了,所以显示的是授权成功的信息。
- 这时返回我们的gitkraken可以发现已经登录成功

- 刚刚打开的gitkraken就是如图所示(我已经登录完毕)。这里我们有多种选择,我们可以用github的账号密码,也可以申请一个gitkraken的账号(不过这个进去要自己绑定GitHub的账号),甚至可以创建一个自己的GitHub的账号!
创建Generate SSH key
- 点击右上角按钮,并选择preferences,进入后选择Authentication


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

- 点击右上角按钮,并选择preferences,进入后选择Authentication
clone远程仓库
- 点击左上角的文件图标

进入界面后点击clone

- 先选择自己要放的本地仓库的路径

- 进入github,选择自己要clone的仓库,将对应的SSH路径copy下来

然后回到gitkraken将copy的路径复制到URL框里,然后点击clone the repo 的按钮
- 点击左上角的文件图标
管理本地,并remote团队项目
- 首先我们先创建本地的dev分支。在我们的远程仓库那边右击的对话框中,选择“checkout origin/dev”

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

这时我们选择我们的项目(这里我演示的stardust的团队项目),相应选中后,编辑在gitkraken要显示的项目名称,点击“add remote”

- 这时我们在分支图上可以很明显的看到团队项目和我们本地自己编辑的分支,以及自己远程仓库的情况
- 首先我们先创建本地的dev分支。在我们的远程仓库那边右击的对话框中,选择“checkout origin/dev”
fetch项目,并将团队项目与自己的项目合并
- 这个是团队合作中很重要的一步。首先fetch团队最新的进展,还是右击团队项目栏,在对话框中选择“fetch xxx”,即可获取团队最新的动态。

- 接下来选择相应的分支merge到本地(这一步很大的几率会出现冲突,大家不要慌张)。还是右击,在对话框中选择“merge xxx/dev to dev ”

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

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

解决了每个问题我们可以在相应的问题后面mark the changes。
- 这个是团队合作中很重要的一步。首先fetch团队最新的进展,还是右击团队项目栏,在对话框中选择“fetch xxx”,即可获取团队最新的动态。
注意事项:
- 每次在fetch团队项目时,记得先commit,将自己编辑的内容保存起来。否则可能在手动解决冲突的时候,或者gitkraken在自动解决冲突的时候,会改变自己之前编辑的内容,造成代码的丢失。本地的commit相当于在本地保存了一份副本,有利于我们版本的回退。切记!!!
后悔药
- gitkraken提供了强大的版本回退功能。上面我们说过了,我们经常在解决冲突的时候删掉或改变了一些我们不知所以然的代码。这时我们在当前无法处理的情况下,我们可以选择的是do once again。首先选择你在本地的,想回退到的版本。像我当前选中的是我想后退六个版本

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

接下来打开你的项目,你会发现,你要的版本回来啦!
- gitkraken提供了强大的版本回退功能。上面我们说过了,我们经常在解决冲突的时候删掉或改变了一些我们不知所以然的代码。这时我们在当前无法处理的情况下,我们可以选择的是do once again。首先选择你在本地的,想回退到的版本。像我当前选中的是我想后退六个版本
gitkraken还有很多强大的功能等待着大家去发掘,我现在用到的功能大致就是这些。最后附上几个git的教程,希望对大家有所帮助。

Gitkraken的使用的更多相关文章
- gitkraken clone报错 Configured SSH key is invalid
gitkraken clone远程仓库时报错 Configured SSH key is invalid. Please confirm that is properly associated wit ...
- 超详细!Github团队协作教程(Gitkraken版)
超详细!Github团队协作教程(Gitkraken版) 一.前期工作 1. 在 Github 上创建 organization step1. 登录Github网站,点击右上角头像,选择 " ...
- 使用Gitkraken进行其他Git操作
使用Gitkraken进行其他Git操作 查看某次 commit 的文件改动 使用 Gitkraken 能非常方便的看到任意一次的 commit 对项目文件的改动. 具体操作是:在树状分支图上单击某个 ...
- GitKraken 团队项目使用教程
前期准备:刚下载好要配置些东西,这些跟着教程走就好了,现在主要是讲团队项目的使用,创建分支 和Fork项目到个人仓库,请参考这篇博客的前两个点 1.将项目克隆到本地 打开GitKraken 点击Fil ...
- Gitkraken系列-Gitkraken使用操作
一个优秀的团队合作离不开git,一个优秀的程序员也离不开git.gitkraken是我在进行软工实践这门课接触到的git的UI界面的工具,它给我留下的印象就是非常好用和方便 怎么个方便法呢? 方便的安 ...
- GitKraken使用教程-基础部分(9)
10. 合并分支并解决冲突(conflict) 1) 合并分支 在代码管理过程中,切换分支或者同步服务器代码时,常常会出现代码冲突的情况,这种情况出现的原因一般是由于两个分支对同一个文件进行修改, ...
- GitKraken使用教程-基础部分(8)
9. 远程(Remote)仓库 1) 添加远程仓库 一般在本地新建仓库后,需要添加一个远程仓库用于push/pull代码.鼠标移至GitKraken左侧区域的REMOTE栏,点击 该栏右边出现的 按 ...
- GitKraken使用教程-基础部分(7)
8. 本地分支和标签 1) 在提交记录区中查看分支状态 提交记录区中每一个分支都位于一个提交记录所在的行中. 从图 2‑1中可以看到,服务器上的master分支停留在整理格式(把这个提交记录记为or ...
- GitKraken使用教程-基础部分(5)
7. 提交代码 1) 查看文件改动 修改了某个文件后,在程序右侧会出现已修改文件的列表(如图 1‑1),这里以Test.git 为例,修改了19264.h 的文件编码,将其改为utf8.Unstage ...
随机推荐
- GCD之Group
1.问题的提出 在上面的GCD之全局.主线程中介绍了dispatch_get_global_queue.dispatch_get_main_queue的用法,可以看到最后执行的时间在10s 左右,在上 ...
- 下拉加载更多DEMO(js实现)
项目的一个前端页面展示已购买商品时,要求能下拉加载更多.花了点时间研究这个功能,以前没做过. 首先需要给div加scroll事件,监听滚动条滚动动作.那何时触发加载动作呢?当滚动条滚到底的时候.如何判 ...
- Windows下当地RabbitMQ服务的安装
Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...
- 客服端与服务端APP支付宝支付接口联调的那些坑
根据支付宝官方提供的文档的建议: TIPS:这一步应在商户服务端完成,商户服务端直接将组装和签名后的请求串orderString传给客户端,客户端直接传给SDK发起请求.文档和Demo是为了示例效果在 ...
- [原创]C#中的堆和栈理解
引言:程序运行时,它的数据必须存在内存中,一个数据需要多大内存.存储在什么地方以及如何存储都依赖于该数据的数据类型. 1.什么是栈 栈是一个内存数组,是一个LIFO(Last-In-First-Out ...
- [android] fragment的生命周期和通讯
重写一下生命周期方法 所有的fragment都是依附于activity的,只有当activity显示出来的时候,fragment才能够创建上去 onAttach,当附加到activity上的时候 on ...
- Stack源码解析
我们从一个DEMO作为入口,了解Java的Stack的源码,代码如: Stack<String> stack = new Stack<>(); stack.push(" ...
- JS 作用域 p1
引用<你不知道的JavaScript>中的话,如下: 负责收集并维护由所有生命的标识符(变量)组成的一系列查询并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限. 那么作用 ...
- 你不知道的JavasScript上篇·第五章·原型·下
5.差异继承 继承意味着复制操作: 差异继承: 基本原则是在描述对象行为时,使用其不同于普遍描述的特制. (我的理解是只用对象自身的而不用普遍继承的像是toString(),valueOf()这种方法 ...
- element-ui Steps步骤条组件源码分析整理笔记(九)
Steps步骤条组件源码: steps.vue <template> <!--设置 simple 可应用简洁风格,该条件下 align-center / description / ...