公司需求:早期的一些項目使用的是SVN,現在想要更換為Git,需要代碼遷移並且能在Git上看到之前在SVN中的項目的提交記錄,公司沒有使用gitlab,代碼都push在公司的服務器上,用的是TortoiseGit來管理的。
第一步:公司服務器系統(centos6.8),安裝git
yum -y install git
第二步:創建git用戶:
useradd git #創建名稱為git的用戶 passwd git #git用戶對應的密碼也為git
第三步:創建git倉庫:
mkdir /home/git/gitrepo
cd /home/git/gitrepo
git init --bare test.git
chown -R git:git test.git
第四步:開始將svn代碼做遷移操作,在windows上任意創建一個空文件夾GitTest,作為一個Git本地倉庫,用來存放從SVN上遷移過來的代碼。
第五步:在這個文件中打開Git Bash
第六步: 在GitBash中輸入clone的命令,在Bash中輸入如下指令, 就會開始遷移”git svn clone svnUrl”, 其中里面的svnUrl就是你要遷移的項目的SVN地址
這時會彈出來兩個對話框, 讓你輸入SVN的賬號和密碼, 當你輸入正確的SVN賬號和密碼時, 代碼就會開始遷移. 就會出現如下類似的log
這就表示遷移成功了, 現在要想看以前的提交記錄是否遷移過來的話, 我們就需要在命令行里進入的本地倉庫根目錄中(也就是帶有.git的目錄), 進入之后輸入git log, 就可以看到以前的提交記錄了。
第七步:push本地倉庫到遠程服務器倉庫,注意:首先要確保你的遠程服務器上有這么一個倉庫
#git remote add origin git@192.168.66.13:/home/git/gitrepo/test.git
進行這兩個操作的時候, 會提示你輸入你的Git的賬號和密碼, 點擊ok之后就會進行push操作.
注意: 這一步的時候可能會提示一個錯誤:fatal: remote origin already exists.
如果出現如上所說的錯誤,解決辦法:
$ git remote rm origin #刪除遠程git倉庫
然后在執行第七步。
完成以上步驟后,測試一下,使用TortoiseGit客戶端clone項目
在查看下是否有提交信息