svn遷移帶日誌到git

2021-10-09 21:39:56 字數 2564 閱讀 6936

進入需要匯出目錄的上一級目錄

# 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...