01. 2月 2011 · Write a comment · Categories: 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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>