トップ «前の日記 最新 次の日記»

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 がここを指すようにすればいい。そして今の masterpgtk にでも rename すればいい。

気になるのは、github 上の自分の fork と、そこから clone してる人たち (少なくとも 1人はいる。まだ持ってるのどうかは知らないけど)。

でもまぁ、branch の rename を push する方法は、ぐぐればたくさん出てくるので、 問題はないのだろう。

fork 上の master がちょっと気になった。master を rename するというより、 master の指す場所が大きく変わるんだよね。

なので、fork 上の master を一旦削除しよう。と思ったら、

git push origin :master

が失敗する。できない。これはあれか? default branch が master だからか?

そうだということにして、ちょっと方針転換。

  1. 先に pgtk を作って、それを push する。
  2. github 上で default branch を pgtk にする。
  3. 手元の master を削除する。
  4. 削除を push する。上記コマンド。今度は成功した。(: に注意)
  5. gnu/master を checkout。
  6. そこに master ブランチを作る。
  7. それを push。

こんな感じでいけた模様。

branch の張替えだけで事が済んで、楽ちんだった。 ただ、clone してる人に影響があるのかどうかはわからん…


編集 パスワード変更