使用perforce+git处理连线&离线工作的pipeline

来源:互联网 发布:网络传销公司名单2017 编辑:程序博客网 时间:2024/06/06 03:42

实际证明svn是不适合大项目做事的,相比perforce和git都是差的很远,估计要逐渐消失了。


现在的情况是,连线下使用perforce,由于有离线工作的需要,所以离线情况使用git,中间的载体是移动硬盘。

必须说perforce和git分别是两种version control方面(perforce连线情况下的,git是离线情况下的)的王者。


perforce可以另建一个workspace到移动硬盘上,sync代码数据作为专门的中间载体,离线情况使用git,建立本地的一个repot,并把数据添加进去,项目比较大的话就需要压缩了。


在离线电脑上,使用移动硬盘工作还是太慢了,最好本地有ssd的硬盘,在ssd上建立一个git repo,从移动硬盘pull过来。

本地修改并commit到ssd上的这个repo。

所有工作完毕之后,在移动硬盘上的git repo上把改动从ssd上的git repo pull过来。

这里不能从ssd那里push,因为移动硬盘那个不是bare repo,具体可以看一下stackoverflow上的解释,专门建立一个bare repo没必要也太麻烦,所以直接从移动硬盘的git repo上pull是比较好的。


然后回到连线情况,这里有两个选择:

  • 使用perforce的reconcil工具,在移动硬盘上的workspace去检查改动,这个过程比较慢,然后生成changelist提交即可:但是这个速度奇慢,很不推荐。
  • 根据git的changelist history,手动checkout代码,其实可以一次checkout一个文件夹,然后revert unchanged,就可以方便的得到修改了

这样不管是离线还是连线都可以不停的提交,而且所有记录都在,想revert就revert,很是方便。

一些比较有用的命令:记录在这里了:http://blog.csdn.net/ccanan/article/details/7922599


git在vs上的一些插件,也在逐渐进步,可以看一下这里:http://blog.csdn.net/ccanan/article/details/6033253

但是说回来,和大多数编程类的东西一样,使用熟悉了还是命令行的最好用,速度也快,gui的是不是的就卡在那里,不知所云。

原创粉丝点击