Quantcast
Channel: Kaedei 的个人博客
Viewing all articles
Browse latest Browse all 103

搞定Git+SVN配合使用

$
0
0

公司的项目代码使用SVN进行管理,在本地开发的时候很多实验性质,或是尚未完全完成的代码是不能够Commit上去进行保存的,因为SVN连接到了持续部署的机器。但是对于程序员来说,“没有进入版本控制的代码就不算是代码”。针对一个比较大的Feature的来说,项目要求一次性Commit实在是有点不太合适啊。

 

唉,不过我在项目中没有啥话语权,没有更改整个流程的能力,只能找找别的方法解决了。平时喜欢用Git来管理源代码,主要是因为Git属于分布式版本管理系统,没有中心版本库的概念,每个repo都是一个完整的版本库。所以在离线状态下我也可以很方便地往本机的版本库中Commit代码。

 

同时Git的分支功能也十分强大,对于实验性质的代码来说,只需要一个git checkout -b xxx就能在半秒钟之内创建分支,既不占硬盘又省事。实验完毕后,想留下来就git merge,不想要了就git branch -d。

 

这里是最终的效果图。。


方法如下:

1.首先建立Repo,.gitignore文件和master分支,注意,gitignore中不要将svn添加进去(就是说必须要把.svn纳入git的管理中),不然以后你会看到海量的modified文件的。

2.在这个文件夹下面使用SVN将代码Check-out

3.在svn中设置忽略.git文件夹和.gitignore文件

4.进入git的master分支,将所有文件commit

5.以后git的master分支就负责与SVN的最新版本进行同步,其他分支负责维护新代码。正好这里有个Git开发模型,可以适当参考。

当需要开发新功能时,使用git checkout -b建立新的分支(如NewFeature),然后进行改动。

代码编写完毕,准备提交SVN服务器时(切记,不打算提交时不要做),切换回master分支,git merge一下,然后使用SVN进行提交。提交成功后可以把以前的NewFeature分支删掉。

之后再在master分支commit一次(因为生成了一些新的svn文件),大功告成

 

 

鼓捣了将近半个小时,主要是因为项目文件太多了,算上ignore掉的还有6000多个,操作前备份和复制一次相当耗时间啊。
 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

Viewing all articles
Browse latest Browse all 103

Trending Articles