Git从开发到上线中那些事和个人体会

目录

Git个人心得体会

Git从开发到上线那些事

※ 拉取最新开发代码应该怎么拉取,又如何去推送?

※ 真正的合并应该怎么合并?

※ 到上线之前做的事


Git个人心得体会

git是最常用的代码版本管理工具,大型项目需要多人协作开发,必须熟用git,如果不知道或者之前不用git,不会通过面试,哪怕是应届生,不会git尽管基础很好,竞争力也会降低。git不算什么技术含量的东西,但是在开发中都会用到。git我个人认为最重要的是概念,分支的概念,有了概念再和git命令对应起来会有更好的理解,只记住命令没有分支的概念很难在实践中运用,况且实践中大多是可视化工具,命令用到的并不多,但是并不意味着命令不重要。

给大家一个git学习参考的链接Pro Git book

在这里,我不想讲解git怎么用,也不想记录视频中怎么讲。因为讲了看了也还是不会用,还浪费时间,大家去网上找找视频学习。

为什么这么说呢?我个人的经历是大半年在操作这个东西,刚接触git的时候,在网上看git操作教程,一步一步操作理解,就像学习一门语言的时候开始学习基础语法一样,当然这可能是不可或缺的步骤,但是我仍然建议大家在学习git的时候一定要去看视频。我个人学习git的时候看博客,然后再看《GitHub入门与实践》,然而仍然是纸上得来终觉浅,自己就算想破头皮都无法举出真实工作中可能的情况

就是上面这本书,看了一半看不下去了,看了后面忘了前面,直到在工作中不断的看别人操作,推送,合并,以及在自己的操作错误中学习。我是学git命令——看书——工作后实践中在sourceTree学习(时间长了忘了操作对应的Git命令)——最后看视频讲解对应自己在sourceTree中的操作,感悟深刻。

凭我个人内心话,就看看视频看看书,就算学的很用功,git真的掌握不了太好

错误懵逼记录:   —— 自己在操作当前分支1的时候突然需要切换到分支2去看东西,而在当前分支1新增了A.html,在B中改了一些代码等等,如果切换到分支2就会提示需要丢弃之前的修改,我就点击确定,想着丢了就丢了,大不了再写一遍,结果切换到分支2的时候发现我的A.html还在,咦?我不是丢弃修改了吗?删来删去自己概念都蒙了。等等这些踩坑出错记录我得告诉大家,当然,这些操作都是在sourceTree上完成的(可视化git操作工具)

踩坑记录,主要都是在sourceTree上面操作,这里记录命令理解

git stash先存起来,存在储存区

git stash pop弹出来

新增的文件不用存,存的是在某某文件的修改,切换到另一个分支之后新增的文件还在,只是某某文件的修改丢了,现在再弹出来即可,就可以在这个分支继续操作上一个分支的内容

Git从开发到上线那些事

※ 拉取最新开发代码应该怎么拉取,又如何去推送?

正确做法:从远端拉取develop分支到本地,然后复制这个分支,比如2.4号拉取的分支命名为0204/test,就是0204目录下有叫test的分支,是刚刚develop分支的副本。当然命名是和开发的功能有关的,这样比较好找,这里只是举例用test。

为什么不直接将本地的develop改名test呢?如果这样做就是一个不好的习惯,因为可能你的develop还跟踪着远端的develop,万一不小心给推送了。。。那可是大家上个版本都经过测试的代码啊,你将你这个版本还没测试的代码合到上个版本的develop分支出问题了呢?如果代码没问题还好说,相当于不该你合并代码的,你帮别人合并了,一旦出问题又得代码回滚,要是每个人都这样就疯了。唉你别笑,我还真这么搞过一次。刺激不?直接在本地develop分支修改,然后发现远端develop有最新的,又把远端develop拉下来合并,合并的时候流程有点不一致,然后办公司很多人围着讨论这个问题看看是哪里出问题了,为啥没有我的代码修改记录,主要是因为本地合并过一次了,和远端的develop没有区别,再给别人合并的时候看不到我代码哪里修改了,最后是再加一个空行。就看得到我的代码修改了。

建议大家不要搞这些不常规的花里胡哨的操作,最后搞得浪费大家的时间,还慌得一批。

※ 真正的合并应该怎么合并?

远程的develop分支拉下来保证最新,你自己push到远端的分支拉到本地保证最新,然后切换到本地develop分支,将你自己的本地分支合并到develop分支,再将这个develop分支push到远端同步,这样下次别人拉取远端develop的时候就包含了你的最新功能,当然如果测试出有问题你还是需要重新修改提交,然后合并后打包测试,直到没问题基本说明你开发的这个功能成功,通常这个操作都是由一个专门合并代码的人完成的,不会让大家都操作develop合并,这样容易混乱。就这样的反复操作将其他人开发的feature分支(就是每个人开发的分支)一个个合并,再推送到远端。

※ 到上线之前做的事

最后合并完了就从develop分支打出测试包,最后一次develop打出来的就是正式提测包,回归测试没有问题之后等待(否则还需要返工)。。。。。经过代码走查(一般发版前一天)之后确定没问题了,就将develop分支合并到release分支,然后打生产内测包和插件,最后运维的人发布的包和插件是从release分支的代码里面打出来的。

PS:各个公司有所不同,我自己在这里记录一下

从develop分支打出来的都是    测试包
最后一次develop打出来的就是    正式提测包
合并到release分支后打出来的包是    生产内测包
生产自测是方便开发人员使用的包,服务器连接的生产环境,插件下载连接的测试环境

生产内测包然后将生产内测包由运维人员发布到服务器上公开了,这个包就是正式生产包(简称生产包),就是大家下载的公开的包

关注、留言,我们一起学习。

===============Talk is cheap, show me the code================

发布了224 篇原创文章 · 获赞 983 · 访问量 91万+

猜你喜欢

转载自blog.csdn.net/qq_34115899/article/details/104169204