gitの履歴を消す
正確には「履歴を消した新しいリポジトリを作る」 滅多にやらないと思うけどメモ。 forkしたリポジトリを公開する時とか?
リモートに空のリポジトリを作る
mkdir /git/new_repository.git
cd /git/new_repository.git
git init --bare --shared=true
ローカルにcloneして内容をコピー
git clone remote://git/new_repository.git
cd ~/old_repository
git checkout-index -a -f --prefix=export/
cp -r ~/old_repository/export/* ~/new_repository/
cd ~/new_repository
git add .
git commit -m 'moved to new repository'
git push origin master
master以外のブランチも移動するには
cd ~/old_repository
git checkout my_branch
git checkout-index -a -f --prefix=export/
cd ~/new_repository
rm -rf *
git branch my_branch
cp -r ~/old_repository/export/* ~/new_repository/
git add .
git commit -m 'moved to new repository'
git push origin my_branch