Ich hatte die gleiche Frage wie hier gestellt: Neues Git-Repository im Stammverzeichnis, um ein vorhandenes Repository in einem Unterverzeichnis zu subsumieren
Ich folgte dieser Antwort hier: Neues Git-Repository im Stammverzeichnis, um ein vorhandenes Repository in einem Unterverzeichnis zu subsumieren
Nun gitk --all
zeigt zwei Geschichten: eine, die in der Strömung gipfeltmaster
, und eine mit Namen original/refs/heads/master
.
Ich weiß nicht, was diese zweite Geschichte ist oder wie ich sie aus dem Repo entfernen kann. Ich benötige keine zwei Historien in meinem Repository.
Wie werde ich es los?
Um sich selbst zu reproduzieren:
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'
Jetzt haben wir das Problem des Originalplakats. Verschieben wir die Wurzel des Git-Repos mit der oben verlinkten Antwort nach Projekt-Wurzel:
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
Sehen Sie sich jetzt mein aktuelles Problem an:
gitk --all &
git show-ref
Wie werde ich die refs/original/heads/master
gesamte damit verbundene Geschichte los?