git合作开发须知
我们在自己的私人分支开发好各自的模块后,就要合并到master,这个时候在idea里边先切换到master,然后update一下获取最新更新,解决一下冲突,最后再合并自己的私人分支,add,commit,push
知识点
集中式VS分布式
前者需要有个中央服务器,所有都从那里取,然后推送回去
而分布式,每台电脑都是一个版本库,无需联网,可以互不干扰
fetch和pull的区别
add和commit流程
.
commit提交信息
三种reset
hard全都不保留
mixed保留工作区
soft还保留了暂存区(add的部分不撤销)
- commit的都会撤销
操作
reset后恢复
合并
feature1还是指向原来的位置.只有合并的那条分支会往前移动
冲突(推荐在idea中解决,有图形化界面)
获取远端最新内容后,我们对代码进行修改,与此同时别的开发者修改了远端内容,导致我们要push的时候,原有的代码跟远端不一样,这时需要先合并一下,然后自己手动选择要哪个版本
拉取非master分支
-
查看远端git上的所有分支
git branch -r
或者git branch -a
-
创建并拉取想要的远端分支代码
git checkout -b dev origin/daily/1.4.1
revert(撤销某次提交记录,不影响其他记录)
注意
checkout之前要先commit,否则会将还未commit的内容,带到要切换的分支上边
没有add,直接hard reset,会把没有add的直接给抹掉了
要注意得add之后,git才会对文件进行追踪
教程(参考)
idea操作git
https://cloud.tencent.com/developer/article/1147208
https://www.jianshu.com/p/fff7a84675b5