既刊管理用リポジトリーから新刊管理用リポジトリーを作る【GitHubでRe:VIEWプロジェクト管理編】
誰得情報だと思いますが、自分のためのメモ(同人誌作りのたびに見返すため)として記録を残します。
動機
私は、GitHub上において、同人誌のPDF生成プロジェクト(Re:VIEWプロジェクト)を管理しています。
これまでは、新刊の同人誌を執筆するにあたり、TechBoosterが配布するReVIEW-Template[1]https://github.com/TechBooster/ReVIEW-Templateをダウンロードして、新しいプロジェクトを構築していました。
この手法だとReVIEW-Templateの最新内容を適用できるというメリットがあります。しかし、私の場合はプロジェクト内のファイルを少々カスタマイズしており、ゼロから構築するとPDFが生成できる状態に持っていくまでが少し負担に感じられていました。
その悪戦苦闘については、次の記事でうかがい知ることができます。
環境構築で執筆モチベーションが下がるのは嫌なので、いつかは改善したいと考えていました。
もっともシンプルな方法は、既刊のリポジトリー(ビルドが通る=完成された状態)をコピーして再利用するという戦法でしょう。
やることは単純なのに毎回忘れてしまうので、今回は備忘録として記事にまとめることにしました。
やりたいこと
端的に言えば、「既存リポジトリーを残したまま、中身が同一である新規リポジトリーを作りたい」ということになります。
・既存リポジトリー=既刊を管理するプライベート・リポジトリー
・新規リポジトリー=新刊を管理するプライベート・リポジトリー
ただし、ローカル側でも別々のフォルダーで管理するものとします。
※前提条件として、リモートリポジトリーは自分の管理下にあります。

実現法
既存リポジトリー名を"original-repo"、新規リポジトリー名を"renamed-repo"とします。
もっとうまい方法はあるかもしれませんが、ここでは流れのわかりやすさを優先しました。
1:元のリポジトリーをローカルにcloneする
$ git clone git@github.com:yourname/original-repo.git
今回はローカルにすでにローカルリポジトリーがあるので、飛ばします。
2:ローカルのディレクトリーをコピーする
cpコマンドの-rオプションはサブディレクトリーも再帰的にコピーするためのものです。
$ cp -r original-repo renamed-repo
$ cd renamed-repo
このコマンドにより、renamed-repoというローカルコピーが作られます。
3:GitHub上に新しいリポジトリーを作成する
ブラウザーでGitHubにアクセスして、GUIでyourname/renamed-repoという空のリポジトリーを作成します。
その際、空にするために「README を作成」はチェックしておきます。
4:ローカルのリモート先を新リポジトリに変更する
$ git remote remove origin
$ git remote add origin git@github.com:yourname/renamed-repo.git
5:ローカルから新リポジトリへpushする
$ git push -u origin --all # すべての履歴・ブランチを含めてpushする.
$ git push origin --tags # タグもpushする.
※履歴、ブランチ、タグを引き継ぎたくない場合は適時、オプションを減らしてください。
References
↑1 | https://github.com/TechBooster/ReVIEW-Template |
---|