習慣用git後的程式設計師一定對svn不屑一顧。不過目前的開發環境必須使用svn,用起來不開心。還好git提供了對svn的支援,讓我們可以像使用git一樣使用svn。當然一些git的高階功能還是無法支援的。
有興趣詳細了解的同學可以參考git-svn文件。簡單來說只需要幾步就可以使用了。
檢出svn庫
有了這一步就可以在命令列像操作git一樣操作svn了。如果對git-svn的命令不習慣,可以試試用工具。
使用sourcetree
我經常使用的git客戶端是sourcetree。sourcetree支援git-svn,只需要將檢出的目錄拖到sourcetree的repository browser (command + b),就可以使用了。
如果使用時遇到錯誤:
can』t locate svn/core.pm in @inc (you may need to install the svn::core module)
解決方法是參考這裡:
然後就可以開心地繼續開發了。
自定義action
使用過程中,因為我有一些改動不需要提交到svn上,所以每次提交或者更新時都需要先stash,完成操作再放回來。這樣3步操作可以通過source tree的自定義action合成一步。
定義了一些指令碼pull.sh
和push.sh
,例如:
#!/bin/sh
cd "$repo"
git stash
git svn fetch
git svn rebase
#!/bin/sh
cd "$repo"
git stash
git svn dcommit
開啟source tree的preferences->custom actions,新建pull與push,選擇這兩個指令碼。以後開啟專案後,就可以在actions->custom actions
下找到你新增的這兩個action。 使用SVN,通過git的方式
使用 檢出 update check out 檢入 commit check in git svn clone svn 轉殖 同時可使用使用者名稱 username xx git svn rebase 拉取 git svn log v 日誌 詳情 git add commit 提交 git svn ...
SVN和Git的使用
架構圖 本地工作目錄 work directory 開發者進行開發的地方 版本倉庫 respository 儲存各個版本和維護更新 動態維護分支 功能分支再向主分支合併 checkout 第一次導下來,受到版本控制,svn import export 不受版本控制 delete revert upd...
Git svn 用git管理svn倉庫
使用git svn clone svn url 命令即可完成從svn倉庫匯入本地,由於該命令會將svn倉庫中所有版本的更新都會同步到本地倉庫,如果專案更新次數過多會花費很長的時間,所以我們可以通過指定版本號以避免不必要的更新 如 git svn clone r5791 head svn url ne...