いつもどこかでデスマーチ♪

不定期に、私の日常を書き込みしていきます。

今更のGit-Svn で SVNソースをGITに移行しました

2019年10月01日 17時00分03秒 | メモ
SVNをGITに移行しようとした時、どうしても失敗したので流れをメモ

SVNの構成:
SVNルート:http://SVNのIPアドレス:ポート番号/svn/root
フォルダ構成:
/branches/Project_A/YYYYMMDD_release/src
/branches/Project_A/YYYYMMDD_release/src
/branches/Project_B/YYYYMMDD_release/src
/branches/Project_B/YYYYMMDD_release/src
/tags
/trunk/Project_A
/trunk/Project_B


GITの構成:(想定)
remotes/origin/master
remotes/origin/master_YYYYMMDD_release(branches分)
remotes/origin/master_YYYYMMDD_release(branches分)


今回の目標
1.Project_AのみをGITに移行
2.GITのフォルダ名を trunk ではなく master にしたい

***大事なのは手順1・2のみ 以降はいろんなサイトに書いてあるからそっちを見る事


手順1:(いろんなサイトに書いてあるやつ)gitbashで実行する → 作業フォルダはどこでも良い
 【git svn init -s http://SVNのIPアドレス:ポート番号/svn/root/trunk --trunk="Project_A/" --branches="" --tags=""】
  → branchesとtagsは不要なので空白設定
    -s の後ろと、--trunk で参照SVNパスになっていれば良い

手順2:
 実行フォルダ/.git/config ファイルをテキストエディタで開く
 ポイント1:fetch は【SVNのリポジトリの場所:Gitのリポジトリの場所】になる…はず…
       なので、ここのパスを好きなように変えれば、SVNのどこのプロジェクトを移行したいか好きに決めれます。
       同じようにGITのどこへ移行したいかも好きに決めれます。【trunk→master】の様に
 ポイント2:branches と tags を空白にしているのでファイルに出力されません。

編集前:
[svn-remote "svn"]
	url = SVNのIPアドレス:ポート番号/svn/root
	fetch = trunk/Project_A:refs/remotes/origin/trunk

編集後:
[svn-remote "svn"]
	url = SVNのIPアドレス:ポート番号/svn/root
	fetch = trunk/Project_A:refs/remotes/origin/master





手順3:
 gitbash で 【git svn fetch】を実行
 → 時間が掛ります

手順4:3が終わったら
 gitbash で 【git svn rebase】を実行
 SVNのリポジトリをGIT側に変換します?(たぶんそんなやつ)

手順5:4が終わったら
 【git remote add origin http://ユーザ名@GITのIPアドレス:ポート/r/Project_A.git】
 Project_AはGITのリポジトリを先に作成しておきます。

手順6:5が終わったら
 【git push -u origin --all】
 でGITにソースをpushします

手順7:6が終わったら
 後は通常通りクローンして開発を開始してください。
 (masterしかないから、developを作る所からかね)



*****************************************************


上記で、trunk のソースは移行出来ます。
で同じ手順で branches フォルダの特定ブランチも master_YYYYMMDD_release という名まで移行出来ます
(作業フォルダは新しく作る事)

結果
1.面倒
2.1つのブランチごとにフォルダ元・先を明確に移行できる
3.GIT側に Branches フォルダや tags フォルダなんていらねーンだよ
4.全部移行後に Branches や tags のブランチ切りなおして、Branches や tags フォルダをリモートから消せばいいんじゃね?orz



以上!



検索用:GIT SVN 以降 フォルダ指定 フォルダ名変更 指定フォルダのみ 指定フォルダだけ


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« さすがはMicrosoftですな… | トップ | PGAdminさん…勘弁して… »

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

メモ」カテゴリの最新記事