git init --bare --shared の意味と GitHub への移行手順
2025年5月25日
git init --bare とは?git init --bare
.git フォルダだけがルートに存在する形--shared オプションとは?git init --bare --shared=group
--shared=group で、同じUNIXグループのユーザーに書き込み権限を付与core.sharedRepository=group が config に設定される例)https://github.com/masatoshi/myproject.git
※READMEや.gitignoreなどは追加しない(空の状態)
cd ~/repos/myproject.git # 裸リポジトリへ移動
git remote add origin git@github.com:masatoshi/myproject.git
git push --mirror origin
--mirror を使うことで、すべてのブランチ・タグ・設定を GitHub に反映--all や --tags よりも完全に同期される今後は通常通り clone/pull/push で運用可能:
git clone git@github.com:masatoshi/myproject.git
rm -rf ~/repos/myproject.git
| オプション | 説明 |
|---|---|
--bare | 作業ツリーなしの中央リポジトリ |
--shared=group | UNIXグループ共有用パーミッション設定 |
--mirror | すべてのrefs(ブランチ・タグなど)を push |
GitHubへ移行すれば、Pull Request や GitHub Actions の活用も可能になります ✅