首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
Git图形化工具
时间:
2019-08-08 23:54:03
阅读:
300
评论:
0
收藏:
0
[点我收藏+]
标签:
app
add
wip
部分
ISE
card
开始
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都是username@repoaddress.git,但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://git@mercury.tfs.siemens.net:22/tfs/IDT/SINUMERIK CLOUD/_git/cloudapps.analyzemyperformance.git),即结尾有一个.git,就会导致地址错误,因此要手动直接在左侧树中的REMOTE下面的origin中edit origin,设置pull和push的url为git@mercury.tfs.siemens.net:22/tfs/IDT/SINUMERIK CLOUD/_git/cloudapps.analyzemyperformance这样,才能避免GitKraken自动生成错误的url**
2. TortoiseGit
Stash
和GitKranken不同,可以维护一个Stash list,可以自己起名字
和GitKranken一样,如果本地有增删改的文件,那么在切换分支时会失败,提醒你先stash修改。
但是切换分支不会导致本地多出莫名其妙的修改,GitKranken貌似是把文件带乱套了?
细节
切换分支时,默认会勾选create branch,是指相应得创建本地分支
Git图形化工具
标签:
app
add
wip
部分
ISE
card
开始
git
创建
原文地址:https://www.cnblogs.com/wyp1988/p/11324339.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!