posted @ 2016-11-20 11:30 王清培 阅读 (4202) 评论 (0)编辑 在使用git的时候,不管你的服务器是开源平台github还是私服gitlab,你都需要clone仓库到本地,这个clone的时候就需要你选择连接方式。这个连接方式决定了你与服务器交互的时候以一个什么协议进行。如果你没搞清楚这两种方式,可能你在使用的时候会很困惑,别人在push代码的时候没有提示输入账号密码,而你却有,至少我当初有过这个问题。 可选择的协议有https、ssh两种,这从git repository仓库的******就能分辨出来。阅读全文 posted @ 2016-11-19 11:00 王清培 阅读 (1911) 评论 (0)编辑 posted @ 2016-11-13 09:33 王清培 阅读 (15301) 评论 (46)编辑 在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的。但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支。 你可以通过命令,git remote show origin 来查看有关于origin的一些信息,包括分支是否tracking。阅读全文 posted @ 2016-11-13 09:08 王清培 阅读 (8383) 评论 (1)编辑 有一种场景是经常发生的。 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个。然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周。在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交。这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码。甚至是会面临很多冲突需要解决,而这个时候你可能还需要对冲突的部分代码进行测试回归,这就很麻烦了。 那么我们来看一下你在pull时候需要习惯性的加上—rebase参数,这样可以避免很多问题。--rebase的本意是想让事情的发展看起来很连续和优美,而不是多出很多无用的merge commit 。 你在有些时候pull代码的时候会有这样的一个提示:阅读全文 posted @ 2016-11-12 14:14 王清培 阅读 (30914) 评论 (5)编辑 你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里。 但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录。而这些commit是无需在release里体现的。 develop 主分支阅读全文 posted @ 2016-11-03 11:56 王清培 阅读 (9629) 评论 (0)编辑 聊下 git rebase -i 聊下git merge --squash阅读全文 posted @ 2016-11-03 11:15 王清培 阅读 (964) 评论 (0)编辑 在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交。 在一个基本的迭代周期里,你会有很多次commit,有跟配置文件相关的,有跟代码相关的,甚至有跟下次发布fixbug相关的。这些都是你在完成本地开发的时候一个变化记录而已。但是当你需要将你的迭代项目作为一次发布提交时就需要整合所有之前提交的那些很零碎的commit。 根据基本规范,你的commit应该类似release:20161023_imageprint,在此commit里应该是完整的提交。 git branch -a –vv阅读全文 posted @ 2016-10-23 11:35 王清培 阅读 (41187) 评论 (2)编辑 两年前有机会接触过elasticsearch,但是未做深入学习,只是工作中用到了。越来越发现es是个不错的好东西,所以花了点时间好好学习了下。在学习过程中也发现了一些问题,网上大多资料都很零散,大部分都是实验性的demo,很多问题并没有讲清楚也并没有系统的讲完整一整套方案,所以耐心的摸索和总结了一些东西分享出来。 毕竟当你用生产使用的标准来使用es时会有很多问题,这对你的学习提出来了新的标准。 比如,使用elasticsearch servicewrapper进行自启动的时候难道就没发现它的配置中有一个小bug导致load不了elasticsearch jar包中的class吗。 还有es不同版本之间的差异巨大,比如,1.0中的分布式rout阅读全文 |