我有与这里提出的问题相同:New git repository in root directory to subsume an exist repository in a sub-directory
我按照这个答案进行操作:New git repository in root directory to subsume an exist repository in a sub-directory
现在,“gitk --all
”显示两个历史记录:一个是以当前master
为终点的,另一个名为original/refs/heads/master
。
我不知道第二个历史记录是什么,也不知道如何从仓库中删除它。 我不需要我的存储库中有两个历史记录。
我该如何摆脱它?
要重现:
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
及其相关历史记录?