程序员入职公司第一课:如何正确使用版本控制软件?如何同步?

“是谁提交的代码?”“谁把我的修改覆盖了?”每天早晨,办公室里有没有此起彼伏的叫骂声?

或是别人的代码被你覆盖?被人数落的翻江倒海!亦或是你的代码被人覆盖?心中有过的万马奔腾?

版本控制软件

提起版本控制软件,这可能是每一个程序员的必修课!从CVS,到SVN,亦或是Git,你真的会用吗?还是只会更新(update)和提交(commit)?

在日常的工作中,不管是用Windows、Mac还是Linux,你总会找到喜欢的版本控制客户端来使用,或者更高级一点,你直接用命令行来完成。

而大多数情况下,我们会选择IDE中的插件来辅助我们,像IntellJ IDEA或是Eclipse,都拥有强大的版本控制的插件。

今天,我主要想介绍的,就是Eclipse中的版本控制插件。在我看来,它是我用过的IDE中版本控制做的最好的,没有之一!

每次有新员工入职,怎么使用Eclipse的版本控制插件,都会成为培训的第一课!

同步功能

不论是以前的CVS,还是SVN,亦或是Git插件,都扩展了同步(Synchronize)的功能。正是这个功能,可以避免文章开头我们所能遇到的所有问题。

所以,每次培训,我都会给他们强调,在提交代码或是更新代码之前,必须先进行同步

同步主要做的事情就是,将本地文件跟远程服务器的文件做比对,然后在同步视图中显示,并标出有冲突的,需要更新的,和未曾提交的代码。

这样做的好处有以下几点,

第一、如果有冲突,有冲突一般会用红色标记。

第二、如果没有冲突,只有更新,则会用蓝色表示。

第三、如果即没有冲突,也没有更新,那剩下的灰色标记的内容就是你所做的更改。

解决冲突

冲突有以下几种类型:

一、文件夹冲突

文件夹冲突,一般是文件夹的属性文件不一致了,如服务器中将某些文件忽略了(.ignore或svn:ignore)导致的不一致。这种情况,如果文件夹里面再没有其它冲突,我们可以直接用update或replace命令来解决。如果里面的文件也有冲突,先解决冲突的文件,然后再update 或replace就能解决。

二、文本类型文件冲突

如果所有的远程修改和本地修改都不在同一行,则用update命令就能merge!

如果不符合上述情况,则要相对麻烦一点。

第三步,处理完所有的冲突,就可以merge了。

如果合适,右键菜单中选择replace,这时,会将本地文件以及版本索引都替换成服务器的版本。

这时候,你就可以放心的提交了。

三、其它类型文件冲突

如图片,视频,或是其它非文本类型的文件,你只能另寻他法,或者强制更新或提交了。

注意事项

一、有冲突尽量解决,最好不要用强制更新或是强制提交。如果迫不得已要用,先做好备份,不然你的辛苦会白费,有时候会将你的所有历史记录都清空,让你哭一天!

二、成员尽量的统一编码风格,或用相同的格式文件,在保存之前先format,可以打开save action里面的format选项,每次保存都会自动format,这样在提交代码时就不会出现过多的无用更改。

三、每次提交,都要添加一定的注释信息,这样可以很方便的通过历史记录来查看。

四、学会用ignore命令,没必要提交的文件都打上忽略标记,如maven工程中的target目录,还有一些点开头(.xxx)的文件等等。

总结

工欲善其事,必先利其器!好的工具会让你事半功倍,而学会用好的工具才会让你如虎添翼!

程序员入职第一课,你都Get了吗?

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月26日
下一篇 2019年1月26日

相关推荐