1 2 3 4 5 |
<br />yum install git-svn git svn clone -s --prefix svn/ --localtime svn://localhost/sample |
--stdlayout
trunk, branches, tags の構成
--prefix svn/
git の リモートリポジトリが衝突しないように。
--localtime
git ログ等の時間がデフォルトUTCなので日本時間に合わせる。
表示上だけで、SVN側ではJSTになっている等、問題はなかった。
変則的な構成
1 2 3 |
<br />git svn clone svn://localhost/sample --trunk=trunk/git --branches=branches --tags=tags --localtime --prefix=svn/ --ignore-refs=remotes/svn/first-branche |
・turnkは直接指定
・branches/tagsはディレクトリ指定
・–ignore-refs で無視するパターンをうまく指定する
master ができる。
1 2 3 |
<br />git svn dcommit |
現在のリポジトリから svn/trunk へ
masterに入れば、masterから。
develop に入れば、developから。
基本的には、materだけで行う運用が無難そう。
★別記事で。
dcommit すると、git のcommitIDが変わる。
git の masterへマージ後、git svn dcommit
で変わってしまうので、git側へは -f push が必要。と思う。
また何らかのエラーでcommitツリーを変えてしまった時も問題。
master使わないほうがいいのか?
1 2 3 |
<br />git svn rebase |
svn リポジトリから取得
チェックアウトしているローカルリポジトリにマージされる。
master に入れば、masterに。
develop に入れば、developに。
どこにいるかわからないまま実行すると危なそう。
基本的には、master だけで行う運用が無難そう。
★別記事で
git 側に開発ブランチを作成
1 2 3 4 5 |
<br />git checkout master git checkout -b develop |
githubのリモートにpush
1 2 3 4 5 6 7 8 9 10 |
<br />git remote add origin https://nilesflow@github.com/nilesflow/git-svn-test2019.git git remote set-url origin https://nilesflow@github.com/nilesflow/git-svn-test2019.git git push -u origin master git push -u origin develop git pull origin master |
参考
https://qiita.com/hidekuro/items/4727715fbda8f10b6b11#svn-%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%82%92%E5%8C%BA%E5%88%A5%E3%81%99%E3%82%8B
等