git在工作中正确的使用方式----偷懒篇(不用去想git merge/git rebase等命令)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nrsc272420199/article/details/85219097

写在前面的话

   本篇及接下来几篇关于git的文章是我实际工作中在idea和webstorm(由于一些原因,现在也在做着前端开发工作::>_<::)中使用git方式的总结,本篇希望大家主要留意一下我写的两个注意点.

  大家如果觉得我的使用方式哪里不妥,非常欢迎在评论区里给我指正.

1.远程仓库只有一个master分支的情况

   我想应该会有公司是按照这种方式来管理代码的,因为我们项目初期的时候也是这么搞的.在这种情况下我感觉是非常简单的,首先介绍几个命令:

git pull----------------从远程仓库拉取代码到本地
git stash---------------将你修改后的代码存储到本地(一个栈结构)-->一般会在git pull 拉取代码失败时使用
git stash pop-----------将你stash到本地的代码与重新git pull下的代码合并
git add XXX-------------将XXX文件加入到暂存区
git commit -m "注释"----将暂存区的文件提交到本地仓库
git push----------------将本地仓库的内容推送到远程仓库

  如果懒一点,不在本地再创建其他分支的话,我想这几个命令就够了,但有两个注意点我在下文会着重说一下.下面我将以图文结合的方式来重现一下实际开发中的具体情况.

2.实际工作中的场景

  前提:假设开发者A和开发者B都刚刚从远程仓库checkout了一份代码到本地.


开发者A(我这里指的是Git Bash用户)
首先开发者A在README.md文件中进行了如下修改:
在这里插入图片描述
然后将修改内容按照如下方式提交到远程仓库:
在这里插入图片描述


开发者B(我这里指的是IDEA用户)
   开发者B此时也要开发代码了,正常来讲,如果开发者B在开发完一个功能需要提交代码之前,肯定要git pull一下代码.比如说开发者B在README.md的第三行里增加了一句话,然后他去git pull代码,结果如下:
在这里插入图片描述

★注意点1★–git监控变化的单位是文件

   我不知道大家在这里会不会疑惑,反正我疑惑过很久,明明我在Git Bash里改动的是第二行,在Idea里改动的是第三行,不是说git监测的是变化吗?这里怎么就pull不下来呢?其实git所谓的监控变化,监控的单位是文件,也就是说假如其他开发者改动了XXX文件,并且同步到远程库了,你即使在XXX文件里改动了一个标点,加了一个空格,都无法pull成功.
   git pull不成功时,你就需要使用git stash命令了,具体解决方式如下:
在这里插入图片描述
解决完冲突之后,我一般都是直接在Terminal里敲命令将代码同步到远程仓库,和上面将代码提交到远程仓库的方式其实是一样的,这里也贴一下截图吧:
在这里插入图片描述


★注意点2★–git pull可以把所有你上次push后没操作的文件pull下来

   文中一开始提到,让大家留意我写的两个注意点,上文中才说了一个,这里说一下第二个注意点.


开发者A(我这里指的是Git Bash用户)
  接着上面的栗子,假设Git Bash用户同步了服务端的代码,并且在没跟IDEA用户商量的情况下,擅自修改了IDEA用户的代码,如下:
在这里插入图片描述
  并且Git Bash用户还创建了一个新的文件,如下:
在这里插入图片描述
  然后同步到远程仓库----这里就不再贴截图了,可以参考上文.


开发者B(我这里指的是IDEA用户)
  开发者B如果没有进行开发,或者进行了其他文件的开发,而未对README.md文件进行操作,直接git pull,效果见下图.可以发现,git pull可以把所有你上次push后没操作的文件pull下来,并将你本地的代码变成和远程仓库一样的代码.
在这里插入图片描述
  大家从我做的案例里,应该也可以看出我为什么会把这里当成一个注意点单独拎出来.在实际开发中,假如你们公司有一个人特别喜欢研究你的代码( ::>_<:: ),并且什么都没给你说的情况下就把你的代码给你改了,又同步到远程仓库了,而你pull代码的时候如果没注意去看,之后真正出了问题,虽然可以追溯历史,查看究竟是谁改的,但是….所以奉劝大家在pull代码的时候一定要多注意看一下你的代码有没有被改动过.

3. 使用idea的Update Project代替git pull + git stash +git stash pop

  既然现在都已经凌晨3:00了,再说点我实际工作中的用法.

  其实在真实的工作中我几乎不会用标题中的那三个命令的,而是使用idea的Update Project(快捷键Ctrl+t).我们恢复到注意点2那部分idea用户git pull之前的版本,同时在README.md文件的第四行加一句话,然后打开Update Project,页面如下:
在这里插入图片描述
  然后点击一下OK,就会弹出如下页面:
在这里插入图片描述
   然后双击一下有冲突的文件之后,就会弹出如下页面,自我感觉在这个界面里进行冲突解决,要比注意点1中第一个图,那种解决方式爽一些.
在这里插入图片描述
  并且解决完冲突后,立刻会弹出如下提示:
在这里插入图片描述
  点开提示之后,你就可以看到哪些文件修改了,哪些文件是新增的,而且你肯定会想去看看你原来操作过的文件有没有被updated过,从而避免注意点2中提到的情况.
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nrsc272420199/article/details/85219097