Saya memiliki pertanyaan yang sama seperti yang ditanyakan di sini: Repositori git baru di direktori root untuk berlangganan repositori yang ada di sub-direktori
Saya mengikuti jawaban ini di sini: Repositori git baru di direktori root untuk berlangganan repositori yang ada di sub-direktori
Sekarang, gitk --all
perlihatkan dua sejarah: satu memuncak pada arus master
, dan satu lagi bernama original/refs/heads/master
.
Saya tidak tahu apa sejarah kedua ini, atau bagaimana menghapusnya dari repo. Saya tidak perlu dua riwayat di repositori saya.
Bagaimana saya menyingkirkannya?
Untuk mereproduksi diri sendiri:
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'
Sekarang kita punya masalah dengan poster aslinya. Mari kita pindahkan root dari git repo ke project-root menggunakan jawaban yang terhubung di atas:
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
Sekarang, lihat masalah saya saat ini:
gitk --all &
git show-ref
Bagaimana cara saya singkirkan refs/original/heads/master
dan semua riwayat yang terkait?