最佳答案
我在这里问了同样的问题:在根目录中新建Git存储库,将现有存储库包含在子目录中
我在这里遵循这个答案:在根目录中新建Git存储库,将现有存储库包含在子目录中
现在,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 repo的根移动到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
和所有相关历史记录?