読者です 読者をやめる 読者になる 読者になる

長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

SVN から Git へ過去コミットログを担保した上で移行する

Git

概要

リポジトリ管理を SVN から Git 移行する必要があり
その際に利用したコマンドをまとめます。

手順

まずリモートに移行先のリポジトリを作成しておきます。


svn to git

以下コマンドを実行しようとしたら以下エラーが出た場合
git pull origin master 
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

要約すると、公開鍵のパーミッション拒否されています、ということです。

remote repositoryにどのようにアクセスしようとしているかの確認をします。

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[svn-remote "svn"]
        url = http://www.svn.rubygroupe.jp/svn/hogehoge
        fetch = trunk:refs/remotes/svn/trunk
        branches = branches/*:refs/remotes/svn/*
        tags = tags/*:refs/remotes/svn/tags/*
[remote "origin"]
#        url = git@github.com:xxxxxxxxx.git
        url = https://github.com:xxxxxxxxx.git
        fetch = +refs/heads/*:refs/remotes/origin/*

再度 pull してみてください。

git pull origin master

あとがき

Git側がSVNを引き取ることを想定して用意しているという大人な対応に感謝

そもそも何故移行?という方はまずGitを触ってみてください。


GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)