git リポジトリ移動
履歴
- 2021-11-01 高橋芳幸 新規作成
目的
テキトーに作ってしまった作業ディレクトリを兼ねた git リポジトリを, 作業ディレクトリのない bare リポジトリとして作業ディレクトリから 分離したい. (の記録)
旧リポジトリ (bare でない) /work02/yot/work/radmodels 新リポジトリ (bare リポジトリ) /work02/yot/work/git_repos/radmodels.git
作業
移行先(空)リポジトリを作成
at /work02/yot/work/git_repos
$ mkdir radmodels.git $ cd radmodels.git $ git init --bare
移行元リポジトリを一時的にミラークローンする
この作業は不要なのかもしれない. ここではとりあえずやっておく.
at /work02/yot/work/zzztmpgit
$ git clone --mirror --bare /work02/yot/work/radmodels radmodels.git
ミラークローンしたリポジトリから新リポジトリに push
$ cd /work02/yot/work/git_repos/radmodels.git $ git push --mirror /work02/yot/work/git_repos/radmodels.git
新リポジトリの設定
- 参考ページ
ディレクトリ移動
$ cd hooks
update フック
$ wget http://www.gfd-dennou.org/library/dcpam/TEBIKI.gitrepos.scripts/update $ chmod 755 update
post-update フック
$ mv post-update.sample post-update $ chmod 775 post-update
作業ディレクトリの remote を変更
$ cd /work02/yot/work/radmodels $ git remote add origin /work02/yot/work/git_repos/radmodels.git $ git remote -v origin /work02/yot/work/git_repos/radmodels.git (fetch) origin /work02/yot/work/git_repos/radmodels.git (push)
作業ディレクトリの remote に追加 (複数にする)
$ cd /work02/yot/work/radmodels $ git remote -v origin /work02/yot/work/git_repos/radmodels.git (fetch) origin /work02/yot/work/git_repos/radmodels.git (push) $ git remote add <name> <host>:<path> $ git remote -v <name> <host>:<path> (fetch) <name> <host>:<path> (push) origin /work02/yot/work/git_repos/radmodels.git (fetch) origin /work02/yot/work/git_repos/radmodels.git (push)
push
$ git push origin master $ git push <name> master
二つ目の引数で push 先を指定.
お試し
at somewhere
$ git clone -v /work02/yot/work/git_repos/radmodels.git
片付け
一時的なクローンは削除してよい
$ rm -rf /work02/yot/work/zzztmpgit/radmodel.git