LoginSignup
0
0

More than 1 year has passed since last update.

SVN から GitHub への移行手順

Posted at

はじめに

今さらながら SVN で管理されているソースコードを GitHub へ移行することがあったので手順を備忘録的に記載しておきます。
細かいことは置いといて、とにかく移行したい人向けです。

目次

  1. 作業環境
  2. 手順

作業環境

  • macOS Big Sur 11.6.3
  • Homebrew 3.4.6

手順

  1. git-svn のインストール

    % brew install git-svn
    
    % git-svn --version
    git-svn version 2.35.1 (svn 1.14.1)
    
    • macOS Catalina 10.15 から SVN 関連のコマンドが非推奨になったので必要
    • すでにインストールされている場合は不要
  2. GitHub に空のリポジトリを作成

    • README.md とか何か一つでもファイルが存在してると push するときエラーになるので で作成すること
  3. ローカルに作業用のディレクトリ作成

    % mkdir svn-github-test
    % cd svn-github-test
    
    • 移行が完了したら作業用ディレクトリは削除しても問題ない
  4. SVN リポジトリを git-svn で clone

    % git-svn clone [SVNリポジトリのURL]
    
    • パスワード求められたら入力
    • もし途中で止まったら clone してきたリポジトリに cd して git-svn fetch を実行すると続きからやってくれる
    • git-svn fetch しても何も出なくなれば clone 完了
  5. clone してきたリポジトリに cd

    % cd [リポジトリのディレクトリ]
    
  6. clone してきたリポジトリと GitHub の空のリポジトリを紐付ける

    % git remote add origin git@github.com:[ユーザー名]/[リポジトリ名].git
    
  7. 紐付けできたか確認

    % cat .git/config
    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
    	ignorecase = true
    	precomposeunicode = true
    [svn-remote "svn"]
    	url = [SVNリポジトリのURL]
    	fetch = :refs/remotes/git-svn
    [remote "origin"]
    	url = git@github.com:[ユーザー名]/[リポジトリ名].git
    	fetch = +refs/heads/*:refs/remotes/origin/*
    
    • [remote "origin"] が追加されてば OK
  8. GitHub へ push

    % git push -u origin master
    
  9. GitHub のリポジトリにプッシュされたか確認

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0