okkez
okkez****@gmail*****
2011年 10月 15日 (土) 22:08:12 JST
okkez です。 下の方法がよさそうだったので使わせていただきました。 ありがとうございます! 2011年9月3日1:08 Naohisa GOTO <ngoto****@gen-i*****>: > 後藤といいます。 > >> C. がんばって rack ブランチの変更点を master にマージする >> >> 大きいコミット一つでマージすることになると思います。 >> 履歴はあんまりいい感じにはならない気がします。 > > ひとつの大きいコミットなら、がんばらなくても、 > ##rackブランチに入る > $ git checkout rack > ##rackの内容で作業用ブランチを作る > $ git checkout -b tmp > ##ファイルを保ったまま無理やり履歴をmasterにする > $ git reset --soft master > ##そのままコミット > $ git commit > ##masterに戻る > $ git checkout master > ##作業用ブランチをマージ > $ git merge tmp > > として、あとはgit pushすれば簡単にできると思います。 > 変更記録は、上記 git commit の際に、rackブランチでの変更内容を > 長々とコミットメッセージに書く程度しか思いつきません。 > > さらに別の方法もあります。 > rackをmasterにマージしたのをgit上で明示しつつ、楽にマージする技として、 > rackブランチへの分岐後にmasterに加えた変更を一括してリバートした後で > rackブランチをマージする、という方法があります。 > > 具体的には、まず、rackブランチとの分岐点のコミットIDを見つけます。 > https://github.com/hiki/hiki/network > を見ると、d16f5aa94ba2988e2048 であるのがわかるので、 > ## masterからスタート > $ git checkout master > ## 新しい作業用ブランチを作成 > $ git checkout -b tmp2 > ## 履歴を保ったままファイルを分岐点のものに変更。最後の「 .」を忘れずに。 > $ git checkout d16f5aa94ba2988e2048 . > ## コミットする > $ git commit -m "revert to d16f5aa94ba2988e2048f2d29c82dafc547283d8 for merging branch rack" > ## rackブランチをマージする > $ git merge -m "Merge branch 'rack'" rack > ## masterに戻る > $ git checkout master > ## 作業用ブランチをmasterにマージ。Fast-forwardであるのを確認。 > $ git merge tmp2 > > あとは、git log や git diff rack で十分確認してから、 > git push すればOKです。 > > 何が普通なのかは私も知りたいところですが、 > 公開したブランチの履歴を改変するのは好ましくないので、 > A.はできるだけ避けたほうがいいとは思いました。 > > On Fri, 2 Sep 2011 23:26:46 +0900 > okkez <okkez****@gmail*****> wrote: > >> okkez です。 >> >> 件名の通り github の master ブランチを入れ替えようと思います。 >> ブランチを入れ替えた後は、私は古いブランチを弄らない予定です。 >> >> https://github.com/hiki/hiki >> >> 方法が三つあって、どれが良いが相談したいと思っています。 >> >> A. master を old-stable に変更して rack ブランチを新 master にする。 >> >> $ git branch -m master old-stable >> $ git branch -m rack master >> $ git push origin :master >> $ git push origin master >> $ git push origin :rack >> $ git push origin old-stable >> >> みたいな感じになると思います。 >> >> B. github.com の設定で rack ブランチを Default Branch にする。 >> >> github の Admin メニューから変更するだけです。 >> >> C. がんばって rack ブランチの変更点を master にマージする >> >> 大きいコミット一つでマージすることになると思います。 >> 履歴はあんまりいい感じにはならない気がします。 >> >> あるいは他の方法があるんでしょうか。 >> どうするのが普通なんでしょうか。 >> >> >> >> -- >> okkez >> okkez****@gmail***** > > > -- > 後藤 直久 ngoto****@gen-i***** > > _______________________________________________ > Hiki-dev mailing list > Hiki-****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/hiki-dev > -- okkez okkez****@gmail*****