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”,就能查看到别人提交的代码内容。

posted @ 2021-01-15 11:32  Marydon  阅读(11881)  评论(2编辑  收藏  举报