Miałem to samo pytanie, jakie tu zadałem: Nowe repozytorium git w katalogu głównym, aby zasubskrybować istniejące repozytorium w podkatalogu
Podążyłem za tą odpowiedzią tutaj: Nowe repozytorium git w katalogu głównym, aby zasubskrybować istniejące repozytorium w podkatalogu
Teraz gitk --all
pokazuje dwie historie: jedną kulminującą w bieżącej master
i drugą nazwaną original/refs/heads/master
.
Nie wiem, co to za druga historia ani jak ją usunąć z repozytorium. Nie potrzebuję dwóch historii w moim repozytorium.
Jak się tego pozbyć?
Aby się odtworzyć:
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'
Teraz mamy problem z oryginalnym plakatem. Przenieśmy katalog główny repozytorium git do katalogu głównego projektu, korzystając z odpowiedzi podanej powyżej:
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
Teraz zobacz mój obecny problem:
gitk --all &
git show-ref
Jak pozbyć się refs/original/heads/master
całej historii?