之前在Vs2008上一直使用的是Vss版本控制,现在将版本控制更改为Git
迁移原因是其他公司想要在我们公司开发的一个CRM系统做一些定制(个性化需求,将软件上的公司名称和链接更改为他们的或一些跟我们CRM不同的功能)
但又不能影响我们公司CRM正常的开发流程,之前是复制一副源代码然后再处理(之前的一家OEM就是这样处理的,复制的项目并没有添加到版本控制)
但现在又不一家公司需要OEM,难道还要再复制,更改?而且之前的代码如果发现问题怎么办?修改N份??
之前一直知道Git,但由于之前使用的Vss并没有什么问题所以也就仅是了解,有了以上需求后再去详细了解了下Git发现Git中的分支正是解决我遇到的问题的
所以决心将现在的Vss迁移到Git上,幸好找到一位前辈写的相关文档,减少了不少时间
1.下载Vss2Git软件将Vss数据更改为Git数据,转换之前关闭Vs,VSS等否则可能会出现问题(F:hy是Vss服务器数据保存目录)
使用Vss会在项目根目录下有一个mssccprj.scc文件,Vss相关配置就在该文件里
SCC_Aux_Path:Vss数据保存地址
SCC_Project_Name:Vss项目地址
转换完成后,可以查看以前Vss生成的历史版本
2.安装Git,并将Git的安装目录添加到系统变量中,添加完成后在Cmd中可以查看
3.安装Git Source Control ProviderVS2008版,和gitextensions并进行设置gitextensions
如果不想使用Gui界面可以不安装 gitextensions
如果不安装 Git Source Control Providert则在Vs里就没有Git插件不是很方便,不可能每次更改完成后到项目根目录用git提交吧
4.打开之前使用Vss的解决方案,在文件->源代码管理->更改源代码管理取消各项目的Vss绑定(每个之前使用Vss的解决方案都要先取消绑定再更改版本控制设置)
如果直接在版本控制的插件选项上更改为Git会出现下面这个问题
取消绑定之前:
取消绑定之后:
5.在VS2008中将Vss更改为Git,工具->选项->源代码管理
使用Vss的解决方案:
使用git的解决方案
6.使用Git查看更新状态(更改DockContentEx.cs文件进行测试)
使用Git Bash
使用Git Gui
使用Vs安装的gitextensions
在将Vss更改为git之后需要将解决方案的主目录只读属性去掉,否则更改后保存时会提示错误
原因是Vss每次迁入时会将所以版本控制的文件更改为只读,在迁出时再更改为可读
当然如果在每次将Vss转换成Git之前将解决方案全部迁出就不会出现此问题(所有文件已经更改为可读)
参考:
gitextensions:http://code.google.com/p/gitextensions/
Git Source Control Provider:http://gitscc.codeplex.com/releases/view/46589
VS2010以上版本Git:http://gitscc.codeplex.com/downloads/get/732238
在中国code.Goole.com不能访问,下面提供百度网盘的下载地址:
百度Vss2GitSetup下载:http://pan.baidu.com/s/1o6nxFXS
百度GitExtensions24703SetupComplete下载:http://pan.baidu.com/s/1dDBwJpZ