idea intellij使用——git

idea intellij这款IDE使用广泛,同时越来越多的开发项目使用gitLab,因此快速掌握idea intellij中的git功能有利于提高开发效率。

简述前奏:对于开发者而言,首先从git项目中将项目下载下来(git clone 或者 直接网页下载压缩包),然后根据需求修改代码,这时我们就需要使用git工具了。

1、基本流程(熟悉流程)

1.1、打开commit changes

右键最左边的工程文件》点击git》选择Commit Directory(如何你选择的是git一个文件,这里出现的是Commit File),如下图所示。
在这里插入图片描述

  1. 勾选需要gti提交的文件,不需要的不要勾选!!
  2. 提交信息(Commit Message必填)
  3. 红色框中左边的是修改前的版本文件,右边是你增加后的版本文件(这个需要点击之前勾选的文件才可以看见)
  4. 确认无误后,点击黄色框中的Commit。
    在这里插入图片描述
    如果No errors,那么点击上图的Commit。

1.2、打开Push Commits

与1.1一样,右键最左边的工程文件》点击git》repository》push
在这里插入图片描述

  1. 选择1.1中提交的commits
  2. 右边出现需要提交的文件信息,如果有遗漏的文件,那么先将这次提交,没有提交的文件再来步骤1.1与1.2。如果多出了文件,那么会很麻烦,提供一个解决方法吧,将你需要提供的文件一个一个的右键git进行步骤1.1与1.2。
  3. 确认无误后,点击push。
  4. 显示push successful就成功了,你可以去gitLab上查看你的提交了。
成功!!

2、 进阶流程(没那么简单)

很多时候我们在push的时候(1.2中的第3步),并不是显示成功,而是如下图所示,push远程仓库被拒绝。这时,你不要点击Merge进行强制提交,你需要点击右上角的×
在这里插入图片描述

图2.1

2.1、pull最新的版本:

右键最左边的工程文件》点击git》repository》pull。如下图所示,点击pull按钮将最新的版本下载下来。
在这里插入图片描述

2.2、如果显示下图所示的pull信息则表明成功

在这里插入图片描述

2.3、回退信息

不是每个人都是直接pull成功,往往会出现以下信息——Git Pull Failed
在这里插入图片描述
那么你需要点击View them,进行回退信息,如下图所示。

在这里插入图片描述
上图告诉你需要回退的文件有两个(蓝颜色的),双击左键两下进入其中一个文件,如下图所示,左边是本地git中的某一版本,右边是你目前的代码,为了能够将远程仓库的代码pull下来,你需要将自己的代码给替换掉,即点击下图中间的白色双箭头。当所有文件(这里是两个)都没有白色箭头时,即表明本地git仓库与远程git仓库同步了,可以pull文件了,即再次重复pull步骤,将文件拉下来。
在这里插入图片描述

2.4、回退信息(续)

有些时候会遇见如下图的情况,橘色框中有很多不重要的文件,对于工程没有太大的影响,这时你可以点击黄色框中的按钮(revert)。
在这里插入图片描述
将下图黄色框中的所有文件勾选,点击Revert按钮即可。
当下图框中没有任何文件时,表明已经可以pull远程仓库了。
在这里插入图片描述

2.5 总结

因此最直接的步骤:
无论啥情况,先pull,后push

3、终极办法

无论如果都有解决不了的莫名问题!
这时,另外创建一个文件,git clone 项目,将自己修改的文件复制过去,再push,绝对没问题!

4、理解git

经过上面的一顿操作,至少你已经可以将项目push进远程工程项目中了,不过这时我们只知其然不知其所以然,那么接下来理解git,这样你就可以理解为什么需要这样做了

首先我们需要明白两个概念:本地仓库与远程仓库。可以这么说,我们遇见的一切问题都是这**两个仓库不同步**造成的。

在这里插入图片描述

图4.1
之前所有操作过程可以用图4.1表示。有了图4.1,我们再来回看之前的操作过程。

4.1、基本流程,一次push就成功

正如图4.1所示,本地从远程仓库clone项目到了本地,那么本地就有了一个与远程完全同步的仓库,当我们修改了代码后,首先需要在本地提交(commit),这样就新生成了一个版本,自然而然,当你push远程仓库时,远程仓库版本新生成一个与本地一样的版本,与本地保持同步了,OK,push成功!

4.2、进阶过程,需要2次push

事物一般不会一帆风顺,总是在曲折中前进
一个项目不可能只有你一个人在提交,总是有其他人在提交,因此当你在本地生成版本三时,远程仓库有了版本二,这时你去提交将会造成冲突!(具体例子,其他人修改了fileA,你也修改了fileA,那么远程仓库怎么知道最终保存谁的版本,除非你强制提交,将其他人的信息覆盖掉,这样你是不是理解了图2.1中,点击×,而不是点击Merge按钮了)。
这时,你需要从远程仓库中pull文件,将版本二与版本三合并成新的版本四,再push版本四。

证明:
如图4.2与图4.3所示,这是提交成功后的查看历史版本号,本地仓库与远程仓库一模一样!
当本地提交后,生成了图4.2的第二行绿框的版本——b4361d0,当然push失败,所以从远程仓库pull文件下来,合并后生成第一行的版本——6b7431a95。同时,本地仓库也会新添加第三行的版本(pull之前是没有的),最后再push,成功后本地与远程仓库就完全一样了。
在这里图片描述

图4.2

在这里插入图片描述

图4.3

猜你喜欢

转载自blog.csdn.net/weixin_43229107/article/details/84822232