前回はSubversionのリポジトリが一般的なディレクトリ構成をしている場合のgit svn cloneを試してみました。
が、プロジェクトによってはディレクトリ構成が一般的では無い場合もあると思います。
まだ、自分自身もよく分かってませんが、とりあえず実験だけしてみましょう。。。
●ディレクトリ構成
repo_url/
branches/
conf/
controllers/
models/
public/
こんな感じでtrunkというディレクトリは無くて、トップディレクトリがtrunkになっていて
そのなかにbranchがある例です。
●git svn cloneする時に適切なオプションを渡す
明示的にトップディレクトリがtrunkであることとbranchesのディレクトリの場所を指定してあげました。
shell > git svn clone --trunk= --branches=branches http://sabakan.org/svn/git_svn_test2 git_svn_test2
Initialized empty Git repository in /c/Documents and Settings/taka/Documents/projects/msys2_test/git_svn_test2/.git/
A docs/assets/css/combined.css
A docs/assets/fonts/BebasNeue-webfont.eot
うーん?
なんとなく前回と動きが違うような気がしますね。。。。
とりあえず、気にしない!!
●ブランチの確認をしてみましょう
shell > git branch -a
* master
remotes/origin/20160101_new_year_event
remotes/origin/trunk
ちゃんと、trunkとbranchesの認識はしてくれている感じ?
●作業ブランチの作成、ファイルの編集、trunkにマージ、リモートへコミット
とりあえず、作業ブランチを作成して、ファイルを編集してtrunkにマージという
シチュエーションを想定してテストしてみますか。
masterブランチに切り替え
shell > git checkout master
masterブランチから作業ブランチを作成
shell > git checkout -b master_bug
作業ブランチのファイルを修正、コミット。
shell > vim public/index.php
shell > git add .
shell > git commit -m "マスターのバグ修正"
マスターへ作業ブランチの修正を取り込む(もしかして、やりかたが怪しい?
shell > git svn rebase
shell > git svn dcommit
うーん。。。
特に何も問題はなさそうですね。。。
もう少し実験する必要はありそうですが。。。
コメント