IDEA使用GIT上传代码操作加深理解

本文详细介绍了在IntelliJ IDEA中使用Git的基本操作流程,包括提交(commit)、推送(push)、分支切换、合并(MergeChanges)及解决冲突等关键步骤,并通过实例演示如何在本地与远程仓库间同步代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提环境,配置好IDEA的Git环境(连接远程仓库,以github为例),顺便建立一个分支branch。项目中随便创建一个txt文件,本文为gittest.txt。

1.首先进行commit操作(以整个项目提交为例)

       

      点击后出现如下窗口

                 

   提交后对比远程仓库项目发现并没有gittest.txt文件(如下图)。说明此commit命令并不提交到远程仓库

2.接下来依旧以整个项目右键进行push操作

     

      出现如下窗口,选择刚刚写的commit messesy消息,进行提交。

                      

提交成功后对比远程仓库内容,发现多了一个gittest.txt文件(如下图),并且可以看到第一步时提交的描述信息。

说明push是提交的远程仓库的命令

3. 切换到分支branch(IDEA2018右下角,右键),切换成功后圈圈出处会变化到分支名称

                                 

     切换后发现分支branch没有主分支的gittest.txt文件(如下图,初始主分支与分支统一内容)。这里有一个有意思的地方,当你切换时打开项目本地目录会发现目录只有一个但与git一一对应,你打开的是哪个,目录就有哪些内容,目录还是那个目录。

                                                

4. 进行pull命令尝试拉取项目,发现没什么变化,说明拉取的只是这个分支。

5.  尝试进行合并分支操作(Merge Changes),看看有什么效果。

    点击后出现如下图窗口,发现有刚刚主分支是的操作,第一个是本地的,第二个是远程(remotes)的。两个都勾选看看效果。

                                             

 

此时发现项目出现gittext.txt文件,Merge Changes说明可以合并主干的内容到分支

                                                                

此时再对比远程仓库分支的内容发现并没有这个文件,说明只是合并的本地的,此时再进行commit操作看看。发现说没有改变(如下图),此时明明有改变啊,多了个文件啊!!!看看是不是切换错了,发现没有,那就两边切换看看。发现再切换回来时确实是改变了的,但git无法识别,可能是个BUG。我们修改文件内容,发现可以了。

                                                                 

    那这到底是说此时是主干还是分支(此时IDEA显示的是分支)?验证一下,我们修改文件内容为“验证下此时到底是主干还是分支,此时IDEA显示的是分支。”,进行提交到远程仓库看看有什么变化。先commit再push。别忘了push到远程仓库

                                               

        经过验证发现是分支,主干内容并没有变化,那就没错了。

                           

     忘了尝试内容没改变是直接push能不能成功了。那就回到主干在创建一个Gitest2.txt文件进行前面几步操作验证下。经过验证发现可以。

      那我们进行一个在进行分支合并到主干的操作。切换到主干(此时没有提交Gitest2.txt到远程主干),我们修改下这个Gitest2.txt文件的内容并commit提交,不提交切换会出现冲突。再点击Merge Changes合并发现出现冲突,对冲突进行处理

                              

               操作示意图如下:

冲突处理完后,需要commit, 这里有个情况,Gittest文件也有冲突但是没有报,他自己修改了。我也不知道什么情况。然后就可以push提交到服务器了。但不建议这样做先。理由看下别人说的。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

附上别人写的git解决冲突的部分内容:

(https://www.cnblogs.com/newAndHui/p/10851807.html)

git的合并中产生冲突的具体情况:
  <1>两个开发者(分支中)修改了同一个文件(不管什么地方)
  <2>两个开发者(分支中)修改了同一个文件的名称
  注意:两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。

关于冲突的个人心得

  多人协作开发的时候,如果出现了你没有改过的文件跟你冲突了,一定要去找到当事者,说清楚是如何冲突的;

  然后协商解决,千万不要擅自拉别的分支去试图解决冲突,或找文件覆盖,更或者以自己的文件为准.

  同时记住,解决了之后,要add 和 commit 最后push.为保证万无一失,最后在冲突都解决之后,重启项目;

  保证至少不会有立即奔溃的现象发生.然后才去提交,push.

  提交的时候,一定要保持清醒,先搞清楚自己要提交的文件之间的关系,然后再提交,这样才不会有文件缺失的问题,造成奔溃.

  如果任务比较多,又开了多个分支,分别进行开发,再次强调,一定要清楚自己在各个分支上做了什么,自己要提交的是什么.最好是能做个详细的笔记,没有把握宁愿不要去提交到生产服务器.

  提交代码的时候不要走神,因为这是一个神圣的时刻!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     

 

6. 回退操作:

       回退是可以回退,就是Push不了,每次都会是项目不一致。网上查的文章都不行。先不写了。写的有点乱就这样了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值