Git图形化工具

1. GitKranken

  • 登陆

    • 集成GitHub等登录(有按钮可以直接把ssh key加入到GitHub上)
    • 使用ssh key登录时,可能要在Perferences->Authentication中专门重新生成Gitkraken的公私钥,因为用Git生成的公私钥有可能算法或秘钥长度不同,不符合Gitkraken的要求,会报错。然后选择使用新生成的公私钥,并在服务端导入ssh公钥。
  • Stash
    • 相当于把本地的改动都先另外暂存起来,让当前分支文件夹恢复修改前的样子
    • 如果本地有增删改的文件,那么在左侧树双击切换分支时会失败,提醒你先stash修改,或者discard。但是切换分支会导致本地多出莫名其妙的修改,GitKranken貌似是把文件带乱套了?
    • 貌似点上方的Stash按钮,不会让你起名字,直接就把当前的修改给Stash了,好像都叫WIP?
    • Stash也会在右侧树上有个标记
  • 细节
    • fetch和pull

      • 点fetch all会同步所有的远程分支信息,pull只会fetch+merge当前分支。
      • 点push就直接把当前分支的commit都push到了远端
      • pull时如果当前分支还没有push到远端过,会提醒你先push
    • merge
      • 从你要merge的分支节点上右击选择merge from xxx to yourbranch,如果没有冲突,会自动完成
      • merge后解决冲突时,你选择选择哪个改动后,并不会影响你已经放到stage中的文件,会在unstage中又放一份新的别人的改动?
    • 在你做commit、pull、push等动作时,右侧树可能会重新调整布局,甚至分支的位置颜色都变了。这时候就完全重新来观察树就好了。
    • 文件添加到stage之后,如果再有修改,不会影响stage中的文件,unstage部分会也把这个文件列出来
  • 左侧分支树
    • LOCAL下面是所有本地fetch过的分支,及并不是clone时就会把所有分支搞下来
    • REMOTE下面是远程仓库所有的仓库,一般分支都在origin下面
    • 所有分支都是用同一个文件目录
    • 双击分支是切换到该分支,本地目录的文件会切换过去
    • 单击分支是高亮右侧图中该分支的最新指针点
  • 右侧分支图
    • 最左侧的标签指明了该分支最新的指针点的位置,右侧的电脑图标说明是本地分支,圆圈说明是远程分支,同时画了本地和远程分支
    • 大的有图标的点都是人的commit
    • 有的实心点都是merge的点
    • 如果之前做的是rebase,那么不会形成merge的点,会直接移动到同一条线
    • 一般来说一条竖线就是一个分支,但是如果不同分支间做过rebase,那么这些分支可能在同一条线上,只是最新的指针点不同,相当于rebase时GitKraken会帮你把俩个分支画到一条线上,也就是说两个分支有时候可以有一部分合在了一起(merge和rebase都会这样?只是合并之前保持两条多一个commit点,还是直接合并成一条线?),当其中一个又有了改动,会再次叉出来变成了两个
      • rebase后,GitKraken的分支图中会从上次两个分支的分歧点开始又合成了一条线,所谓的rebase就是重新定义基准点,也就是从上一次分歧点重新变成了一条线?
      • 还有一种情况是merge时发生了fast forward,也会移动源分支的指针到目标分支,也就变成了一条线,这个时候和rebase后再merge效果类似,但需要目标分支期间没有改动
    • 相当于每个分支都是一条线一根绳子,从最新的指针点,都可能把它们整条拎出来
    • 如果是pull request,那么一个commit上会有两个人名,一个是commit的人,一个是操作的人
    • 每次做了merge、rebase等操作后,GitKraken会调整一下分支图,虽然看起来可能不一样了,但其实只是为了美观做了整理,逻辑未变
    • 再次总结
      • 从上到下就是按时间降序排的
      • 只有某个分支还没有被删,那么即使merge或者rebase到了另一个分支,他的最上端肯定也会有一个点(可能会被其他分支的重合),并且在分支图左侧会显示分支名。如果是远程分支,那么分支名称右侧有个点图标,如果是本地分支,那么分支名称右侧会有一个电脑图标。
      • remote端的origin的分支图形及信息肯定是最新的,和服务端实时同步。只有本地的分支的图形及信息需要fetch来更新一下。
      • 只有merge会导致生成一个合并的实心点
      • 创建分支和merge会导致从一个点拉出来一个线,又在某个点合并回去,也就是会有一个分支又回来。rebase会导致最后和之前拉出来的base的分支又合成了一条线。
      • 从某个分支的最上端接口开始往下拎,沿着先可以找到所有的commit,只不过有可能之前做过rebase,因此有些段可能会和其他分支重合。
    • 第一次pull等操作时会要求输入显示的用户名,一般都是使用默认的git
    • 然后会用这个username和之前clone输入的repo的url去动态拼接pull和push的地址,**一般GitHub和GitLab的url都是[email protected],但tfs(mercury)的比较特别是自己定义的地址如ssh://mercury.tfs.siemens.net:22/tfs/IDT/SINUMERIK%20CLOUD/_git/cloudapps.analyzemyperformance,前面多了一个ssh://,后面少了一个.git(可能是把这个.git挪到url的前面变成了/_git/),然后在GitKraken中第二次进行fetch等操作时,会使用它上次输入username后自动拼接的GitHub和GitLab风格的错误的url(如ssh://[email protected]:22/tfs/IDT/SINUMERIK CLOUD/_git/cloudapps.analyzemyperformance.git),即结尾有一个.git,就会导致地址错误,因此要手动直接在左侧树中的REMOTE下面的origin中edit origin,设置pull和push的url为[email protected]:22/tfs/IDT/SINUMERIK CLOUD/_git/cloudapps.analyzemyperformance这样,才能避免GitKraken自动生成错误的url**

2. TortoiseGit

  • Stash

    • 和GitKranken不同,可以维护一个Stash list,可以自己起名字
    • 和GitKranken一样,如果本地有增删改的文件,那么在切换分支时会失败,提醒你先stash修改。但是切换分支不会导致本地多出莫名其妙的修改,GitKranken貌似是把文件带乱套了?
  • 细节
    • 切换分支时,默认会勾选create branch,是指相应得创建本地分支

原文地址:https://www.cnblogs.com/wyp1988/p/11324339.html

时间: 2024-10-13 04:13:18

Git图形化工具的相关文章

如何使用IDEA开发工具中右键中的Git图形化工具

首先,你的项目一定是git服务器上面down下来的,下面来演示如何使用IntelliJ IDEA 开发中在鼠标右键中提供的一个非常方便的图形化Git管理工具: 这里使用的IDEA开发工具的版本是 IntelliJ IDEA 14.1.4. 1.打开IDEA开发工具,选择菜单栏 File--> Settings,在左侧选中 Version Control (版本控制) ,看到右面窗口中你的项目名称是灰颜色的,也是不可编辑: 2.选中你的项目,点击右上角的那个绿色的加号,就可以将项目添加到IDEA的

Git 系列(五):三个 Git 图形化工具

在本文里,我们来了解几个能帮你在日常工作中舒服地用上 Git 的工具. 我是在这许多漂亮界面出来之前学习的 Git,而且我的日常工作经常是基于字符界面的,所以 Git 本身自带的大部分功能已经足够我用了.在我看来,最好能理解 Git 的工作原理.不过,能有的选也不错,下面这些就是能让你不用终端就可以开始使用 Git 的一些方式. KDE Dolphin 里的 Git 我是一个 KDE 用户,如果不在 Plasma 桌面环境下,就是在 Fluxbox 的应用层.Dolphin 是一个非常优秀的文件

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 http://www.cnblogs.com/yubinfeng/p/5182271.html 本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是

通过图形化工具来画shape

前两天一个哥们分享了十分好用的图形化工具,这样我们就能实时的看到自己用代码写出来的shape是怎么样的了,更牛的是它可以让我们自己去设定值,最后生成代码,这样我们为什么要去自己写shape呢?如果一个编译器足够牛逼,我们为什么要自己写代码呢?能拖拖控件就能生成布局的话,我们为什么要用代码呢?我一直不是老技术的故有支持者,有好的东西我们就要多用. 好了废话说多了,下面是这个工具的网址,一看就会用了! 链接:http://angrytools.com/android/button/

mysql图形化工具使用及常用操作

       MySQL图形化工具使用     (以Navicat for Mysql软件为例) 使用Navicat连接我们的数据库: 点击连接 主机名或IP地址:就是数据库安装电脑的电脑名或IP地址  localhost.127.0.0.1 端口:就是MySQL安装时候的默认端口  3306 用户名:MySql安装的默认用户名 root 密码:MySQL安装时你指定的密码: root 连接名:只是一个名字而已,作用是让我们知道是什么业务的数据库 完成以上几个信息的配置,点击确定: 点击J18这

使用图形化工具Gitbook Editor编辑gitbook电子书

上一篇文章我讲了如何在linux系统上安装gitbook,这一篇文章我为大家讲解如何使用图形化工具Gitbook Editor编辑gitbook电子书. 1.下载安装 首先到官网(https://www.gitbook.com/editor)下载Gitbook Editor,然后安装,我的是win7系统,安装是提示缺少.net4.5,去微软官网下载安装就行,我安装的.net版本是NDP451-KB2858728-x86-x64.3505182529. 2.使用GitBook.Editor 点击桌

js正则表达式图形化工具-rline

github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式图形化工具,有以下功能: 在输入框填入正则表达式,支持格式:1,没有斜线,如:\d|\s ; 2,有斜线,如:/\d|\s/ 点击展示按钮,将会在下方生成正则流程图:同时在控制台中将会输出该正则的数据结构. 实例: 请在高级浏览器中运行. 我们的github地址:https://github.com

分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具

soar-web 基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加.修改.复制,多配置切换,配置的导出.导入与导入功能. 环境需求 python3.xFlaskpymysql Python 环境未安装的可参考下面操作: Windows:step 1 去 python 官网下载安装 python3 (已安装可跳过此步骤)setp 2 pip install Flasksetp 3 pip install pymysql Mac:step 1 brew

MongoDB图形化工具(二)

一.安装 在Windows下安装MongoDB的图形化工具:mongodbmanagerfree_inst.exe. 双击安装 修改安装地址 选择“Full installation” 点击“Finish” 启动工具后的开始界面 二.连接数据库 三.基础操作 原文地址:https://www.cnblogs.com/myitnews/p/11604331.html