项目环境说明
项目使用svn进行代码版本管理。
使用场景
1, 修改了某些文件后,在修改成另外的实现方法前先备份当前已经实现的方案(git commit临时文件)
2, 在不能连接svn服务器的机器上修改svn版本管理的代码,且需要进行版本管理
前期准备
安装git(MSsyGit,TortoiseGit)
安装svn(TortoiseSVN)
测试步骤
1, 安装svn TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi
2,汉化svn(可选) LanguagePack_1.6.3.16613-win32-zh_CN.msi
3,安装git TortoiseGit-1.2.1.0-32bit.msi;Git-1.6.5.1-preview20100112-with-cheetah.exe
4,创建svn服务器代码库
4.1 在D:\svn_git新建目录svnRepository
4.2 进入D:\svn_git\svnRepository目录,右键选择TortoiseSVN->Create repository here,完成后可看到会生成几个文件夹和文件
5, 创建git服务器代码库
5.1 在D:\svn_git新建目录gitRepository
5.2 进入D:\svn_git\gitRepository目录,右键选择Git Create repository here,完成后可看到生成.git文件夹
6, 将svn服务器代码库checkout到本地,并做一些修改后提交到svn代码库
6.1 在D:\svn_git新建目录svn.local1
6.2 进入D:\svn_git\svn.local1目录,右键选择SVN Checkout,在弹出窗口的”URL of repository"填写"file:///D:/svn_git/svnRepository","Checkout directory"保留默认值"D:\svn_git\svn.local1",完成后可看到生成.svn文件夹
6.3 进入D:\svn_git\svn.local1目录,新建trunk,branches,tags文件夹,并svn commit到svn服务器代码库
6.4 进入D:\svn_git\svn.local1\trunk目录,新建文件test1.cpp写个Hello World程序,并svn commit到svn服务器代码库
7, 将svn服务器trunk代码库的代码checkout到另外一个目录
7.1 在D:\svn_git新建目录svn.local2
7.2 进入D:\svn_git\svn.local2,右键选择SVN Checkout,在弹出窗口的”URL of repository"填写"file:///D:/svn_git/svnRepository/trunk","Checkout directory"保留默认值"D:\svn_git\svn.local2",完成后可看到生成.svn文件夹和test1.cpp文件
到此,D:\svn_git\svn.local1\trunk和D:\svn_git\svn.local2使用相同的svn服务器代码库,在任意一个地方修改,svn commit后,在另外一个地方都可通过svn update来同步
8, 将git服务器代码库checkout到本地,并作一些修改后提交到git代码库
8.1 在D:\svn_git新建目录git.local1
8.2 进入D:\svn_git\git.local1目录,右键选择"Git Clone",在弹出窗口的"URL"填写"file:///D:/svn_git/gitRepository","Directory"保留默认值"D:\svn_git\git.local1",完成后可看到生成.git文件夹
8.3 进入D:\svn_git\git.local1目录,新建trunk,branches,tags文件夹,并git commit到git服务器代码库
9,在本地随便修改几个文件,但由于还不能确定是最后的代码,所以不能提交到svn,采取临时提交到git的办法来管理。先提交到git,等确定是最后代码后再提交到svn,这是svn和git的代码相同。一段时间后,如果发现之前提交到git的某个版本的代码更合适,可以使用git revert到相应的版本,再提交到svn和git。
可以看出,同时使用svn和git管理代码非常方便回滚,并且保证svn的代码总是认为是稳定的