進入需要匯出目錄的上一級目錄
# git svn clone有了這一步就可以在命令列像操作git一樣操作svn了。如果對git-svn的命令不習慣,可以試試用工具。
# 關聯遠端git庫
# 推送**到 git master分支
git push -u origin master
當前所在分支為master
git pull origin master --allow-unrelated-histories
# 合併dev分支**到master
git merge dev
# --allow-unrelated-histories
git merge dev --allow-unrelated-histories
分支
//***x
# 進入所在專案上一級目錄
cd gitproject/..
# 建立git-svn分支, 會在此目錄下建立乙個git-svn分支
git svn clone http://pathtosvn
從 master 將**合併到 git-svn
git checkout master
git merge git-svn --allow-unrelated-histories
# 提交**到 git 庫
git commit -m "svn log"
git push -u origin master
從 master 將**合併到 git-svn
#
gitmerge master
# 歷史記錄合併
git merge master --allow-unrelated-histories
git checkout master
git merge git-svn
git commit -m "svn log"
git push -u origin master
我的svn遷移到git
折騰了一段時間,還是決定遷移到git和hg。
我的遷移命令序列
0 建立authors.txt檔案,**作者的名稱對應表
svnuser = gituser
1 匯入典型結構的svn庫
git svn clone svn:
//localhost/svn -s --authors-file=authors.txt --no-metadata repo.git
//由於是永久性遷移,所以此處用了--no-metadata,如果未來還需要互操作,建議不使用。
2 進入庫
cd repo.git
3 匯入忽略列表
git svn show-ignore >
.gitignore
4 移動遠端標籤到本地
cp -rf .git/refs/remotes/tags/* .git/refs/tags/
rm -rf .git/refs/remotes/tags
5 移動遠端分支到本地
cp -rf .git/refs/remotes/* .git/refs/heads/
rm -rf .git/refs/remotes
基本完成
剩下的可選操作包括
a.新增遠端庫,並推
有時候可能還需要
git push --tags
b.壓縮庫
git gc
c 匯入非典型結構的svn庫
git svn clone svn:://localhost --authors-file=authors.txt --no-metadata repo.git
d 匯入忽略列表並以.gitignore形式建立新的列表
git svn create-ignore
//會在每個目錄內新增.gitignore檔案,並且自動新增相應內容
或者git svn show-ignore > /info/exclude
//會將忽略列表新增到exclude檔案中,但exclude作用僅限本地
如果報告錯誤
config --get svn-remote.svn.fetch :refs/remotes/git-svn$: command returned error: 1
則可以通過指定分支解決
git svn show-ignore -i trunk > .gitignore
svn遷移到git實踐
服務端用的是windows版gitblit,svn版本上的分支一律不保留 1 先登入gitblit管理頁面,建立倉庫 abc.com 2 在本地www目錄下用git bash執行 git svn clone no metadata abc 結束後www目錄下會多出乙個名為abc目錄,注意那個trun...
SVN如何遷移到Git?
之前一直是用svn做 管理,而華為軟體開發雲是使用目前國外比較流行的git進行 版本控制.在網上查詢了遷移方式,發現git本身有命令可以直接轉殖svn的 庫,而且遷移後能保持原svn的提交記錄.以下是總結的svn 庫向華為軟體開發雲遷移的過程.主要步驟 1.通過git svn clone命令將svn...
SVN如何遷移到Git?
之前一直是用svn做 管理,而華為軟體開發雲是使用目前國外比較流行的git進行 版本控制.在網上查詢了遷移方式,發現git本身有命令可以直接轉殖svn的 庫,而且遷移後能保持原svn的提交記錄.以下是總結的svn 庫向華為軟體開發雲遷移的過程.主要步驟 1.通過git svn clone命令將svn...