私がここで尋ねたのと同じ質問がありました:サブディレクトリに存在するリポジトリを包含するためのルートディレクトリの新しいgitリポジトリ
私はここでこの答えに従いました:サブディレクトリに存在するリポジトリを包含するためにルートディレクトリに新しいgitリポジトリ
現在、gitk --all
2つの履歴が表示されています。1つは現在master
ので終わり、もう1つはという名前original/refs/heads/master
です。
この2番目の履歴が何であるか、またはリポジトリから削除する方法はわかりません。リポジトリに2つの履歴は必要ありません。
どうすれば取り除くことができますか?
自分を再現するには:
mkdir -p project-root/path/to/module
cd project-root/path/to/module
mkdir dir1 dir2 dir3
for dir in * ; do touch $dir/source-file-$dir.py ; done
git init
git add .
git commit -m 'Initial commit'
今、私たちは元のポスターの問題を抱えています。上記のリンクを使用して、gitリポジトリのルートをproject-rootに移動してみましょう。
git filter-branch --tree-filter 'mkdir -p path/to/module ; git mv dir1 dir2 dir3 path/to/module' HEAD
rm -rf path
cd ../../../ # Now PWD is project-root
mv path/to/module/.git .
git reset --hard
今、私の現在の問題を見てください:
gitk --all &
git show-ref
refs/original/heads/master
関連するすべての履歴を削除するにはどうすればよいですか?