2019-10-16 (We) [長年日記]
_ git の branch をこねくり回す
emacs の自前改造の話。
もともと、emacs-mirror/emacs を github 上で自分用に fork して、 さらにそれを手元に clone して開発を始めた。
当時は何も考えずに、そのまま master に commit を積み重ねていった。
だいたい出来上がって、gnu の master を pull したり、 引き続き開発したりを繰り返した。
出来上がった master は gnu のものと私のものが入り乱れた、よくわからない代物。
今頃になって、新しいブランチを作って綺麗に分離すべきだったな、と感じた。
今からでもなんとかならんかな、と考えていて、ふと気づいた。
emacs-mirror/emacs 上の master
はそのまま手元の gnu/master
にあるじゃん?
master
がここを指すようにすればいい。そして今の master
を pgtk
にでも
rename すればいい。
気になるのは、github 上の自分の fork と、そこから clone してる人たち (少なくとも 1人はいる。まだ持ってるのどうかは知らないけど)。
でもまぁ、branch の rename を push する方法は、ぐぐればたくさん出てくるので、 問題はないのだろう。
fork 上の master
がちょっと気になった。master
を rename するというより、
master
の指す場所が大きく変わるんだよね。
なので、fork 上の master
を一旦削除しよう。と思ったら、
git push origin :master
が失敗する。できない。これはあれか? default branch が master だからか?
そうだということにして、ちょっと方針転換。
- 先に
pgtk
を作って、それを push する。 - github 上で default branch を
pgtk
にする。 - 手元の
master
を削除する。 - 削除を push する。上記コマンド。今度は成功した。(
:
に注意) gnu/master
を checkout。- そこに
master
ブランチを作る。 - それを push。
こんな感じでいけた模様。
branch の張替えだけで事が済んで、楽ちんだった。 ただ、clone してる人に影響があるのかどうかはわからん…