怎样在Idea中使用Git


怎样在Idea中使用Git,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Idea视图中GIT的分支信息在右下角,如果我们在remote新建了分支,本地默认不显示,可以在上方导航:VCS-Update project 同步远程分支信息。
在IDEA右下角GTI视图中,我们可以选择分支进行checkout,即新建/切换分支;
如果我们需要指定从哪个分支新建分支,则在GIT视图中选择分支-checkout As进行新建

如果我们需要查看某个分支是从哪个分支拉的,我们可以使用命令:git reflog show child 香港云主机Branch 命令查看
我们使用git checkout as分支后,分支默认跟踪的是checkout的分支,我们可以使用命令来查看当前分支跟踪的上游分支删除恢复比如说本地删除了一个文件,需要远程覆盖回来例如我们从test分支新建了dev分支,在dev分支上进行了代码改动后,需要将dev的提交合并到test分支。git视图选择test分支checkout切换到test项目右键:git-repository-pull更新test分支项目右键:git-repository-merge changes,选择dev分支进行合并 假设我们合并了一个分支,但是不想合并了,想撤销这个合并的动作master拉出分支dev,且都进行了多次提交,此时master需要合并dev某一次的提交(可能是个紧急bug修复)。然后就正常pull> push即可一般情况下我们如果需要合并代码,会使用git merge,但是还有一个比较强大的功能是rebase;rebase的意思是指将某个分支按照另一个分支重新设置基准;这样的好处有:rebase对比merge节点树会显示的更加清晰rebase可以减少不必要的commit信息假设我们有分支master,然后checkout出来一个dev,我们按照以下操作步骤来测试一下。如果我们的dev分支需要和master保持最新,避免无效修改,我们需要将master代码合并到dev中。下图是我们对比merge(左)和rebase(右)的节点树显示效果。

由上图可以看出,merge后的节点树会按照提交时间进行排序;而dev重设基准后,dev的提交都是在master后面显示,由此可以保持提交信息的清晰。注意,此情况在本地提交情况下使用
假设存在一种这样的情况:我在本地修改了一个bug,commit了5次之后才修好,那么如果我吧这些push到remote,会导致gitlog很乱,其实这五个提交可以合并成一个。在这种情况下,我们可以使用rebase合并本地的commit。首先我们在本地进行5次提交,git log如下:
然后我们使用git rebase -i 提交ID(注意这个id代表,合并这个id之后的所有提交,但是不包含这个id的,如果需要包含的话要往前找一下)然后git会进入vim页面,我们可以按insert进入编辑模式,填写对应的操作;此处有三个参数:pick : 代表合并后的提交用这个提交的注释s : squash命令的简写,代表合并提交中包含这个提交d : 代表合并提交中排除这个提交我们按需要更改参数后,esc退出编辑模式,:wq写入并退出,git会进入下一步:填写合并的commit message界面:
同样的我们进入vim的编辑模式,注释掉不需要的信息,并将5次提交的信息修改为bug fix 2,:wq写入并退出就完成了合并。
最后,我们分别在git命令和IDEA视图中查看,我们的5次提交信息以及合并为bug fix 2。
本地进行了修改,然后commit了;结果push的时候发现remote已经被修改过,我们使用pull命令后,会失败,此时会提示: You have not concluded your merge.(MERGE_HEAD exists) 此时我们应该:备份本地数据放弃本地修改,远程reset本地
git fetch –all
git reset –hard origin/所在的分支然后用备份的数据手动合并本地再提交关于怎样在Idea中使用Git问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: Python中pyqt5如何设置窗体图标

这期内容当中小编将会给大家带来有关Python中pyqt5如何设置窗体图标,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、Python纯代码编写GUI最简单代码app=QApplication(sys.argv)w=QWi…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/14 16:31
下一篇 08/14 16:32

相关推荐