Tôi đã có cùng một câu hỏi như được hỏi ở đây: Kho git mới trong thư mục gốc để lấy một kho lưu trữ tồn tại trong một thư mục con
Tôi đã làm theo câu trả lời này ở đây: Kho git mới trong thư mục gốc để lưu trữ một kho lưu trữ tồn tại trong một thư mục con
Bây giờ, gitk --all
cho thấy hai lịch sử: một đỉnh cao trong hiện tại master
và một lịch sử được đặt tên original/refs/heads/master
.
Tôi không biết lịch sử thứ hai này là gì hoặc làm thế nào để xóa nó khỏi repo. Tôi không cần hai lịch sử trong kho lưu trữ của tôi.
Làm sao để tôi bỏ nó đi?
Để tái sản xuất chính mình:
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'
Bây giờ chúng tôi có vấn đề của người gửi ban đầu. Hãy chuyển gốc của git repo sang gốc dự án bằng câu trả lời được liên kết ở trên:
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
Bây giờ, hãy xem vấn đề hiện tại của tôi:
gitk --all &
git show-ref
Làm thế nào để tôi thoát khỏi refs/original/heads/master
và tất cả lịch sử liên quan?