Git--IDEA界面操做

前言

阅读本文前,假设已经学习过git的理论基础以及git命令行操做html

参见:Git命令行操做git

本文总结的都是IDEA界面操做中,比传统命令行有优点的部分,
github

其他用IDEA--Terminal命令行解决就好 ~ ~学习

 


分支管理


 

查看分支

左边是所有的分支,包括Local和Remote:spa

(黄色表示如今的Local分支)命令行

 


操做分支

更新    对比    3d

能够进行分支增长、删除;code


 拉出分支 (新增分支)

从现有本地分支,拉出来一个新的分支,而后尝试开发。。。htm

随时能够在右下角查看/操做分支:blog

能够checkout来切换分支:

能够compare分支

 


对比分支

对比    有两种,

  一种是左边和别的分支对比;

  另外一种是时间线上的对比(又分为:普通推动=>2窗口、merge=>3窗口)

 

 

 如图,选择时间线,再选择文件,双击便可查看对比。

选择文件后,点击,便可查看此文件的整个时间线修改

 

 


 

Commit管理


 

中间区域能够看到整个脉络(整个团队的commit)

 

 

 能够看到commit人和时间:

 

 


1)能够选择不一样分支的时间线:

 

 好比origin/jqy001这个远程分支:

 

与上图中总图的颜色是对应的;

全部成员的远程分支的commit显示的是同样的;不同的是本地分支(看不到别人的本地分支)

2)能够指定文件,查看对应文件的git

 

 3)除此以外,还能够指定用户、修改时间:

          


 

右下角展现commit详细信息

 

 

 



 

 

 这个是commit版本中指向的HEAD,

 

这里能够选择回退到任意的commit版本

还能够:

compare比对

reset  回退HEAD (soft / hard)

revert commit 与旧版本merge(3窗合并)

new branch从旧版本新建分支出来(修复bug)

cherry-pick

 


 

Refresh

Cherry-Pick

Turn IntelliSort On

 


 

查看这次commit的修改内容(普通修改是2个窗口对比;conflict解决是3个窗口对比)

回退

纵向查看文件的整个修改

 

 


提交一条龙:add、commit、push 

  Add

  Commit File =>单文件 commit的时候能够选择commit&push

  Commit Directory  =>文件夹(要选择整个文件夹右击)

  Push  要选择远程分支,否则默认新建同名远程分支

 

 


 右上角一小撮快捷键,分别是pull、commit、push、history、rollback(返回到上一次commit)


 对比(下面三个分别是:不一样文件、不一样分支、不一样时间)

  Compare with 对比文件

  Compare with branch 和不一样分支的对比(将整个src对比以前branch就看到本身修改的部分)

  Show History能够查看历史的各个branch脉络

解决冲突的时候出现如下界面:

 从左右的两个branch中,把咱们须要的内容引入到中间的result中。这样便于比对和汇总。

 

 


 cherry-pick

  相似于一个定制化的merge,它能够把其它分支上的commit一个个摘下来,合并到当前分支

git checkout [目标分支]  //先切换到咱们开始的旧分支做为基础

git cherry-pick commitId_1 commitId_2 ...  //按顺序挑选须要的commitID

 例子:

 

 

 从本地分支jqy拉出来2个分支jqy-三、jqy-4,分别增长新特性,而后切换回jqy分支,

选择时间线里面的jqy-三、jqy-四、或者之前的各个分支,点击cherry-pick而后就能够merge了(能够增长这个cherry的一个commit的特性)

 


 rebase

 merge和rebase的区别:

 merge多线交织,rebase永远只有一条线!!

https://zhuanlan.zhihu.com/p/75499871  从新截图


rebase作两件事:

1)合并多个commit为一个完整commit

git rebase -i  [startpoint]  [endpoint]

git rebase -i HEAD~3

 

2)将某一段commit粘贴到另外一个分支上

git rebase   [startpoint]   [endpoint]  --onto  [branchName]

例子:
git rebase 90bc0045b
^ 5de0da9f2 --onto master

 

  rebase深化阅读:

  https://removeif.github.io/develop/Git-rebase-%E7%94%A8%E6%B3%95%E7%A4%BA%E4%BE%8B%E5%B0%8F%E7%BB%93.html

  https://www.cnblogs.com/ludashi/p/8213550.html

 


解决冲突:

 

 左边本身的,中间是结果,右边是别的分支已经作的修改:

相关文章
相关标签/搜索