今儿看了一篇博客,关于程序员崩溃的那些瞬间,我就想谈谈我身边的程序员,苦逼的想快点完成手头的工作,一周都没有提交代码,想敲完功能点一并提交,结果呢,手一瓢,代码删了(心中仿佛一万头草泥马奔腾而过)…而我又何尝没有过呢,我是因为错误的代码合并命令导致文件丢失,只不过好在前一日提交过,所以重写起来快了许多,所以啊,前车之鉴,合作项目一定要【多提交】【多提交】【多提交】,重要的事情说三遍是远远不够的,【多提交】【多提交】【多提交】。
1、 如果在Webstorm中合并他人代码后出现了问题
-
可以撤销合并命令,之后重新合并的时候注意一下冲突就行。
git reset --hard HEAD
-
也可以回退到某一个历史版本,只要你提交过代码就不至于合并代码后为出现的“凌乱”而凌乱了。https://blog.csdn.net/our_times/article/details/83547830
1. 查看所有的历史版本,获取你git的某个历史版本的id git log 2.恢复到历史版本 git reset --hard 历史版本号
2、SVN与Git
我在合作项目中常用到的是Git,但是有的企业用到SVN这个东东,我就简单了解了一下
- 当然是先说Git的优点啦~~~
- Git基于分布式,每个参与开发的人员电脑上都有一个完整的仓库,不用担心硬盘啊啥的出问题;
- 在不联网时,照样可以提交到本地仓库哦!还可以查看以往所有的日志,等到有网的时候,push到远程就行了呢;
- 巨Strong的分支管理功能;
- Git的内容完整性要比SVN优秀哦,虽然我不怎么理解网上的关于这个完整性的介绍,【Git的内容存储使用的时SHA-1哈希算法,可以确保代码内容的完整性,确保在遇到此磁盘故障和网络问题时降低对版本库的破坏】
- Git缺点
- 关于权限管理这里,我没怎么接触,但是好像需要安装插件gitolite,配置起来很繁琐,或者直接用gitlab管理
- SVN优点
- 较好的权限管理功能,可以精确控制每个目录的权限;
- 使用起来相对于git要简单一点
- SVN缺点
- SVN是集中式的,如果中心服务器出现问题,所有人都不能正常干活,恢复起来也很麻烦,【SVN记录的是每次改动的差异,而不是完整的文件】,概括起来就是:如果服务器崩了,工作就进行不下去了;
- 分支功能没有Git强大;
- 速度没有Git快,如果项目有五个分支,需要将五个分支分别拷下来;
- 必须联网才能commit;