idea git基本用法(从git下载、更新、提交代码)
从svn转过来的朋友,会发现使用git没有svn那样顺手,但还是得用。
说明:
在idea中使用git不需要我们本地安装git,也无需手动安装git插件。
前提:只有你的idea破解或者正版激活后,才会看到Git这个插件!
1.从git下载项目
想在idea中下载git项目,如果此时我们已经打开了其它项目,需要先关闭本项目,idea不像eclipse,不能在同一个窗口中管理多个项目。
关闭后,会自动来到欢迎界面
输入git项目的访问地址,以“.git”结尾;
指定项目存放路径,如果没有自动生成对应的项目目录,需要自己手动加上。
输入用户名和密码
3.更新项目代码(git pull)
项目的更新,共分两种情况。
第一种情况:本地代码没做任何修改。
此时,我们直接更新代码就完了,找到工具栏的这个图标,点击更新。
如果工具栏没有的话,选中项目,右键:
把一个分支中的修改整合到另一个分支的办法有两种:merge(合并)
和 rebase(衍合);
合并比较容易理解:
同级分支+父节点,三方合并产生C5。
衍合:分支上的变化会打成补丁,在同级主支上重演一遍,生成新的主节点。
更为详细、复杂的区别,见文末推荐。
用哪种方式都行。
第二种情况:本地代码已经修改。
在实际开发过程中,一种情况会经常出现,那就是:两人或多人同时修改同一个文件。
后提交代码的人将会提交失败,也就是:代码冲突。
做法一:推荐使用
正确做法应该是:
将代码先提交到本地仓库。
commit。
然后再更新代码;
最后,将更新后的代码与本地仓库代码进行比较。
做法二
如果改动比较小的话,将自己的代码拷贝出来,直接更新,然后,把自己添加的代码再加进去就完事了。
做法三:强制更新
2023年9月26日16:04:22
意思是:不管代码有没有冲突,直接点工具栏的更新按钮。
这时,如果有冲突的代码的话,idea会自动弹出冲突弹窗。
双击其中一个文件,我们就可以看到二者之间的差距。
然后,我们根据实际情况进行合并就可以了。
4.提交项目代码(git push)
提交代码,也分两种情况。
第一种情况:本地是最新代码;
也就是说:你本地代码就是远程仓库上最新代码,没有其它人在你之前提交代码。
或者,虽然别人先于你提交,但是,代码上互不影响,没有出现交叉的情况。
第一种提交方式(可提交整个项目文件或指定目录下的文件)
点击工具栏的提交按钮即可(如下图所示)
说明:
点击提交按钮前,可以选则提交范围。
即:选中哪个文件夹,切换到提交视图时,默认选中的就是当前选中文件夹下的已修改文件。
如果选中整个项目的文件夹的话,将会默认选中当前项目在本地所有已修改文件。
勾选需要提交的代码并添加注释;
这里需要注意的是:
与svn不同,git的commit只是将代码提交到了本地仓库,并没有推送到远程仓库(别人是无法看到你的代码的)。
点击上图中的“倒三角”,选择:Commit and Push;
只要没有错误,就能提交,点击"Commit and Push";
这样,在代码提交到本地仓库后,就会弹出推送页面;
Push即可。
2023年9月26日09:47:53
另一种提交方式(提交部分文件)
选中单个文件(支持多选,按Ctrl键不松手,进行点击,就能选中文件了),右键,git,Commit File;
就会打开提交窗口,双击要提交的文件,就能查看到本地文件与仓库文件的内容差异。
确认无误后,写上注释,Commit And Push。
第二种情况:代码冲突。
当我们push失败的时候,一般就是由于代码冲突造成的。
此时,我们已经将代码提交到了本地仓库,与远程仓库进行对比,修改好重新提交并推送(CommitAndPush)。
5.新建分支
当项目变动比较大的时候,我们往往会选择新建分支,将修改好的代码提交到新分支上。
切换到Git视图
一般会在idea底部
如上图所示,Git仓库分为两种:
Local:代表本地仓库;
Remote:代表远程仓库。
选中本地当前分支,点击左侧的+号。
注意:只有选中分支,左边的+号才能点击。
给分支起个名字
这样,本地就从mvc-model切换到了test分支上。
点击工具栏的提交按钮,提交并推送,完成后,远程仓库就增加了test分支,并且这次提交的代码也会被放到test中。
说明:
如不能提交,可以现在远程仓库上建好同名分支,就可以提交了。
如果没有git视图的话,选中项目,遵照此路径打开。
6.删除分支
无论是本地仓库还是远程仓库,只要是分支都可以进行删除操作。
先说本地仓库
只要不是正在使用的分支都可以删除。
如果需要同步到远程仓库上,commit and push即可。
说明:如果想要删除本地当前使用的分支,需要先切换到别的分支,否则,删除按钮无法使用!!!
比方说,我想要删除link分支,此时却正在使用中,无法进行删除操作。
可以,先切换到master分支。
这样,link分支就可以删除了。
再说远程仓库。
前提:有操作权限(在实际开发中,一般情况下小组成员只会被授予:更新和提交代码的权限)。
只要不是主分支,其它分支都能删除
这里再讲一下衍合分支
由于上面在演示的时候,我误把新修改的代码提交到了test分支上;
mvc-models分支上就不是最新代码了
如何把test分支上的代码迁移到mvc-models分支上?
选中test分支,右键选择rebase
这样,mvc-models就重演了一遍test上的内容。
相当于将test上的代码更新到了mvc-models上。
此时,我们将test分支删除,mvc-models记录也会发生变化:
本地仓库test分支已经消失;
最新代码归属也回到了mvc-models上。
但需要注意的是:
远程仓库上test分支并没有消失。
远程仓库上的mvc-models还是原来的,并没有和test搅合在一起。
test分支却默默发生了些许变化:
最后提交的代码归属到了mvc-models分支上。
如何将变化同步更新到远程仓库上?
此时,如果我们点击commit的话,由于当前代码与本地仓库代码并没有发生任何改变,所以我们根本无法commit。
我们再仔细回忆一下命令:
commit在git里是想本地代码提交到本地仓库;
push在git里才是将本地仓库发生的变化同步到远程仓库。我们此时也是直接操作的是本地仓库,和代码没有任何关系。
所以,我们只需要使用push命令即可。
选中项目,右键
Push
推送成功
这时,test分支上的代码就更新到了mvc-models分支上啦
如果需要删除test分支的话,下面两种方式均可。
7.切换分支
不管是本地还是远程,选中要切换的分支,右键"Check Out",就会把选中的分支下载下来作为开发节点。
8.查看git地址
查看当前项目的git地址
选中,点击修改,就可以复制Git地址啦。
9.回滚/还原
当我们修改代码后,又不想提交,且需要还原的时候,就需要git的回滚操作啦。
选中要还原的文件
正常情况下,如果“Rollback”是灰色的(不能点击),说明此文件和git上代码是一致的;
当本地文件发生变化(已修改时,idea会对已修改的文件名做变色处理),但却无法回滚时,解决办法见文末推荐。
如果已修改的代码无法回滚,说明:你已经将代码提交到了本地仓库。
需要跳转的16.回滚分支才能还原。
10.分支重命名
注意:
在idea中,无法切换主分支,以及对分支进行重命名。
错误示例:
以对分支进行重命名为例
需要在本地进行修改,然后再推送到远程仓库上。
重命名成功,选中该分支,右键,push
但远程仓库上并没有重命名成功
提交代码的时候还是提交到mvc-models上
别急,虽然重命名的方式行不通,但是,我们可以点击上图中的mvc-models分支,将名字改成:mvc-modules,就成了新建分支
推送成功
将原来的分支删除即可。
如果此时,当git上,mvc-models为主分支的话,就会删除失败。
需要在git上将主分支切换成其它分支,再次删除就可以了。
20210312
11.单个文件与git资源库文件进行对比
2022年1月13日10:49:52
12.如何将项目推送到git上?
第一步:在远程git仓库上创建项目;
以gitee为例;
仓库名称,最好和本地项目名称保持一致。
点击创建。
项目所属仓库创建成功。
第二步:将本地项目改成git项目;
创建本项目的git仓库地址
使用默认选项即可,也就是将本项目的路径当做git本地仓库的路径。
完成上面的操作后,会在该项目下生成:.git目录(默认是隐藏的);
第三步:将项目和远程git仓库进行绑定;
弹出以下窗口,点击"+";
输入要上传的git地址;
输入用户密码,登录;
项目与远程git绑定成功。
说明:git地址最后不管是不是以".git"进行结尾,对于idea来说,并不影响对于仓库的识别。
第四步:提交项目。
点击菜单栏的“提交”按钮;
勾选“整个项目”,点击“倒三角”按钮,点击“提交并推送”(快捷键:Ctrl+Alt+k);
将项目提交到本地仓库并推送到远程仓库。
等到进度完成。
推送完成,右下角会有提示。
刷新git仓库上该项目,就会显示已提交的代码。
2022年3月29日19:04:44
13.使用外置Git
如果我们不想使用idea的内置git,那我们可以指定git的安装目录。
File-->Settings;
注意:以上修改,不仅仅只是对当前项目生效;
还对其它已经从git上下载下来的项目有效,同时,对后续从git上下载的项目以及本地新建的项目都将使用该外部git。
2023年9月21日15:39:03
14.本地是项目最新代码内容提示
在idea当中,当我们从远程仓库拉取代码后,提示以下内容,表示:
本地是项目最新代码(远程仓库代码无更新)。
15.模块名称与目录名称
在idea当中,文件夹名称和模块名称是可以不一样的。
在idea当中,目录名称就是文件夹名称。
项目名称与文件夹名称
以此项目为例,我们可以看到:
该项目本身是一个模块,它的模块名称叫做:dc-parent;
文件目录名称也就是项目名称,即:此项目所在硬盘上的文件名,叫做:dc,也就是存放项目的根目录。
模块名称与文件夹名称
2023年9月22日16:04:10
16.代码回滚(回滚分支)
回滚本地仓库代码(已将代码提交到了本地仓库,尚未提交到远程仓库)
如上图所示,不慎将idea管理项目的文件,提交到了本地仓库,如何回滚?
第一步:获取上一个提交记录的版本号;
选中上一次的提交记录,右键:copy Revision Number。
第二步:执行回滚指定版本命令
打开Terminal命令窗口;
输入以下执行指令
git reset --hard 版本号
并按回车即可执行。
执行成功,就回退到了我们指定的版本。
我们切换到git视图,就会发现此时,本地确实是回退成功了。
回滚远程仓库代码
先回滚本地仓库 ,然后执行命令,强制推到远程仓库即可。
git push -f
必须使用强制推送,如果使用git push的话,会报:推送的版本落后于远程仓库当前版本。
2023年9月26日09:16:21
17.如何查看别人提交的最新代码?
打开git视图,选中远程仓库当前正在使用的分支,点击左侧刷新按钮,右侧会出现远程仓库最新提交记录。
点击其中一个节点,就会出现该节点的提交的说明及提交文件。
双击其中一个文件,就会打开对比窗口(左侧是改变前,右侧展示的是改变后)。
说明:
对比的是:此文件改变前后的内容变化,不是与本地文件进行的比对。
如果需要看本地此文件与当前最新版本的差异,操作方法见:11.单个文件与git资源库文件比对。
还有一种方法就是:直接更新(不推荐)。
点击此代码更新弹出框后,点击“View Commits”,就能查看到别人提交的代码内容。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/14278529.html