Gần đây tôi đã tách kho lưu trữ của mình (nằm trong bigproj
) bằng cách sử dụng git filter-branch --subdirectory-filter deep/in/my/project
. Sau đó, tôi đã chuyển .git
thư mục đến deep/in/my/project
.Giữ stash sau git filter-branch --subdirectory-filter
Bây giờ, stash là trong trạng thái kỳ lạ, nơi stash đầu là một cái gì đó như:
[email protected]{0}: filter-branch: rewrite
tôi không thể thả stash này, như tôi nhận được lỗi này (sau khi git stash drop
):
refs/[email protected]{0}: not a valid stashed state
Bây giờ, ngay cả khi tôi biết việc cập nhật stash @ {1}, nó vẫn chứa các khác biệt cho các tệp trong phân cấp bigproj
. Có thể ghi lại dữ liệu stash để nó chỉ chứa các tệp thuộc phân cấp deep/in/my/project
không?
Không, điều đó không hiệu quả. Ngay cả khi tôi thử 'git stash drop' trước khi di chuyển thư mục' .git', tôi cũng gặp lỗi tương tự. Những gì bạn có nghĩa là bằng cách tái stash? –
Hmm, dường như 'stash' không tồn tại trong quá trình lọc-chi nhánh vì lý do nào đó. Có thể bạn sẽ phải quay trở lại trạng thái chưa được lọc của bạn và chỉ cần thực hiện những thay đổi đó, sau đó sau khi bộ lọc thực hiện một 'git reset HEAD ~ 1' để làm cho chúng không bị ràng buộc một lần nữa. –