svn和git都是廣為流傳的代碼版本管理工具,實際項目中往往會將兩者結合使用,那么如何將本地的一份代碼和兩者做有機的關聯呢!
前提假設:項目已經在開發階段中,此時變更了svn代碼庫的地址;或者是組里來的新人,需要你幫忙配置環境,你怎么搞?
我的實踐流程如下:(ps:不一定是最優操作和最優方案,問題是可以解決的)
1.在本地workspace目錄下,svn co 'svn路徑';
2.進入checkout的項目根目錄下,執行git init命令,初始化git(會在根目錄下生成.git文件夾);
3.執行git remote add origin 'git遠端代碼庫地址'(此條命令用於給遠端git代碼庫創建一個名字,一般都起origin);
4.執行git remote驗證是否創建成功,得到如下結果說明創建成功:

5.執行git remote show origin,可以查看git遠端代碼庫的分支結構,如下:

6.執行git flow init,建立本地的git分支管理模型(git flow init一路回車到底就OK);
7.將想要拉取到本地的分支,先在本地建立同名分支,再執行git pull origin '分支名'(此步完全個人想出的笨辦法,有好方法的望指點迷津);
8.git分支代碼拉取到本地后,解決svn代碼和git分支代碼的沖突(一般多以svn代碼為准)。
到此步svn代碼和git代碼的關聯就做完了。
如果有想刪除的遠端分支,可以執行git push origin --delete '分支名',就可以將git遠端代碼倉庫的分支刪除了。
其他人再用git remote show origin查看git遠端代碼庫時可能會出現類似這樣的提示:
清除他的做法是:git remote prune origin '分支名',之后再次執行git remote show origin就不會再看到如上的提示了。
ps:此篇為純實戰操作博文,沒有任何深入的原理分析,原理部分希望個人后續加強,可以解釋的更清楚透徹。
