Naohisa GOTO
ngoto****@gen-i*****
2011年 9月 3日 (土) 01:08:13 JST
後藤といいます。 > 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*****