idea git基本用法(从git下载、更新、提交代码)

  从svn转过来的朋友,会发现使用git没有svn那样顺手,但还是得用。

  说明:

  在idea中使用git不需要我们本地安装git,也无需手动安装git插件。

1.从git下载项目

   想在idea中下载git项目,如果此时我们已经打开了其它项目,需要先关闭本项目,idea不像eclipse,不能在同一个窗口中管理多个项目。

  关闭后,会自动来到欢迎界面

  输入git项目的访问地址,以“.git”结尾;

  指定项目存放路径,如果没有自动生成对应的项目目录,需要自己手动加上。

  输入用户名和密码

3.更新项目代码

  项目的更新,共分两种情况。

  第一种情况:本地代码没做任何修改

  此时,我们直接更新代码就完了,找到工具栏的这个图标,点击更新。

  如果工具栏没有的话,选中项目,右键:

  把一个分支中的修改整合到另一个分支的办法有两种:merge(合并) 和 rebase(衍合);  

  合并比较容易理解:

  同级分支+父节点,三方合并产生C5。

  衍合:分支上的变化会打成补丁,在同级主支上重演一遍,生成新的主节点。

  更为详细、复杂的区别,见文末推荐。 

  用哪种方式都行。 

  第二种情况:本地代码已经修改。 

  在实际开发过程中,一种情况会经常出现,那就是:两人或多人同时修改同一个文件。

  后提交代码的人将会提交失败,也就是:代码冲突。

  此时,我们不能立刻更新代码,一旦更新将会导致本地修改的代码被覆盖掉。

  正确做法应该是:

  将代码先提交到本地仓库。

  commit 

  然后再更新代码;

  最后,将更新后的代码与本地仓库代码进行比较。

  有一种更为简单的方式,就是:

  如果改动比较小的话,将自己的代码拷贝出来,直接更新,然后,把自己添加的代码再加进去就完事了。

4.提交项目代码

  提交代码,也分两种情况。

  第一种情况:本地是最新代码;

  也就是说:你本地代码就是远程仓库上最新代码,没有其它人在你之前提交代码

  或者,虽然别人先于你提交,但是,代码上互不影响,没有出现交叉的情况。

  勾选需要提交的代码并添加注释;

  这里需要注意的是:

  与svn不同,git的commit只是将代码提交到了本地仓库,并没有推送到远程仓库(别人是无法看到你的代码的)。

  点击上图中的“倒三角”,选择:Commit and Push;

  只要没有错误,就能提交,点击"Commit and Push";

  这样,在代码提交到本地仓库后,就会弹出推送页面;

  Push即可。

  第二种情况:代码冲突。

  当我们push失败的时候,一般就是由于代码冲突造成的。

  此时,我们已经将代码提交到了本地仓库,与远程仓库进行对比,修改好重新CommitAndPush。  

5.新建分支

  当项目变动比较大的时候,我们往往会选择新建分支,将修改好的代码提交到新分支上。

  切换到Git视图

  一般会在idea底部

  如上图所示,Git仓库分为两种:

  Local:代表本地仓库;

  Remote:代表远程仓库。

  选中本地当前分支,点击左侧的+号。

  注意:只有选中分支,左边的+号才能点击。

  给分支起个名字   

  这样,本地就从mvc-model切换到了test分支上。

  点击工具栏的提交按钮,提交并推送,完成后,远程仓库就增加了test分支,并且这次提交的代码也会被放到test中。 

  如果没有git视图的话,选中项目,遵照此路径打开

6.删除分支

  无论是本地仓库还是远程仓库,只要是分支都可以进行删除操作。

  先说本地仓库

  只要不是正在使用的分支都可以删除

  如果需要同步到远程仓库上,commit and push即可。 

  再说远程仓库

  只要不是主分支,其它分支都能删除

  这里再讲一下衍合分支

  由于上面在演示的时候,我误把新修改的代码提交到了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上代码是一致的。

10.分支重命名

  注意:

  在idea中,无法切换主分支,以及对分支进行重命名。

  错误示例:

  以对分支进行重命名为例

  需要在本地进行修改,然后再推送到远程仓库上。

  重命名成功,选中该分支,右键,push

  但远程仓库上并没有重命名成功 

  提交代码的时候还是提交到mvc-models上

  别急,虽然重命名的方式行不通,但是,我们可以点击上图中的mvc-models分支,将名字改成:mvc-modules,就成了新建分支

  推送成功

 

  将原来的分支删除即可。 

  如果此时,当git上,mvc-models为主分支的话,就会删除失败。

  需要在git上将主分支切换成其它分支,再次删除就可以了。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

原文地址:https://www.cnblogs.com/Marydon20170307/p/14278529.html