skillup

技術ブログ

Git サーバー・ネットワーク

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

投稿日:2015年12月4日 更新日:

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。

思ってたよりは楽だったかな・・・

準備

gitとsvnが入っていることは当然なんですが、git-svnというライブラリをインストールする必要があります。

といってもyumで終了です。

参考リンク

subversionリポジトリでもgitが使えるgit-svn

yumを使わない方法も一応あるようです。

参考リンク

git-svnインストールからgit svn dcommit完了までの手順

実際の移行(git svn clone)

移行したいディレクトリ直下で下記コマンドを実行すれば一気に取り込めます。

ブランチが複雑だったりするとダメらしいのですが、自分の場合はそれほど問題なくいけました。

終わった後git branch -a でみてあげればremotes/svn/~などとsvnの追跡ブランチが取り込まれているのがわかると思います。

gitのブランチの作成

これだけではgitで運用できるブランチがつくれていません。追跡ブランチからブランチを作る必要があります。

下記コマンドでブランチを作り、チェックアウトします。(/remotes/svn/hogehogeからhogehogeブランチを作るとします。)

ちなみに不要な追跡ブランチを消すのは下記コマンドです。

これでブランチが作成できたのでgitの運用ができます。

参考リンク

追跡ブランチ (tracking branch) というブランチが何なのか調べた

この状態だとまだユーザー情報を作っていないのでユーザー情報を作成してあげましょう。

この後、git add , git commit ,git pushなども正常に行えます。

移行全般に関するリンクは下記が参考になります。

参考リンク

git-svnでSVN→Gitへの移行をやってみたログ

-Git, サーバー・ネットワーク
-

執筆者:


  1. […] 追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など) […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

no image

Gitで差分を見やすく表示する方法

gitの差分確認ですが、デフォルトのコンソールの画面だと下記のようなわかりにくい表示になります。 差分をチェックしたい場合はやはり左右にわけてしっかり見ることができたほうがいいですね。 この実現の仕方 …

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …