git-svnでマージ
gitはsvn経由でしか使ったことがなく、ローカルにコミットを溜めて
git svn dcommitでまとめてリモートにコミットするくらいでした。
trunkもブランチも別々にgit svn cloneしてましたが、
今回マージするに当たってgit上でマージしてみようと思いました。
うまくいったのでメモ。
参考にした記事
1. trunkをgit svn cloneしたディレクトリに移動します。
2. .git/configにブランチの情報を追加します。
[svn-remote "branch1"] url = http://host/project/branches/branch1 fetch = :refs/remotes/git-svn-branch1
3. branch1をfetchします。
$ git svn fetch branch1
4. branch1のローカルブランチを作成します。
$ git checkout -b branch1 git-svn-branch1
5. masterブランチに切り替えます。
$ git checkout master
6. branch1をmasterにマージします。
$ git merge branch1 --no-ff
"--no-ff"を付けないとgit svn dcommitできなくて悩みました。
7. リモートリポジトリにコミットします。
$ git svn dcommit
簡単にマージできました。
gitの使い方が少しわかりました。