From Evernote: |
Git 轉換版本庫到 SVNClipped from: http://www.worldhello.net/2010/01/08/74.html |
在Git版本庫上建立SVN關聯
git svn init -s svn版本庫路徑
取得SVN版本庫第一筆log
git svn fetch
列出所有分支
git branch -r
建立新的分支,並切換過去
git checkout -b trunk remotes/trunk
列出目前有多少分支,顯示自已現在在那個分支
git branch
列出該分支所有log (在命令模式下查看第一比記錄)
git log master
[假設取得第一筆log Hash為123abcd]
只合併該筆記錄
git cherry-pick 123abcd
將trunk從123abcd這筆記錄合併到master
git rebase --onto trunk 123abcd master
列出目前有多少分支,顯示自已現在在那個分支
git branch
切換到trunk這個分支
git checkout trunk
取消master最後一次的commit
git reset --hard master
將所有的commit送到svn上
git svn dcommit
---------------------------------------我是分隔線--------------------------------------
經過上面的同步後,以後想要在把最新的資料提交回SVN,操作可參考如下。
trunk為SVN主線 (實際情況還是要看當下想使用那條線)
切換到trunk
git checkout trunk
將SVN上的最後版本與git合併到上最新版本
git merge -s subtree master
將trunk合併後的資料倒回SVN
git svn dcommit
沒有留言:
張貼留言