2012-03-16 14 views
8

Tôi có một repo bình thường, nơi có một cây làm việc và một thư mục .git trong cùng thư mục với cây đang hoạt động.Làm cách nào để sử dụng tùy chọn --work-tree với git? Tôi tiếp tục gặp lỗi

Tôi đang cố gắng để chạy một lệnh git từ bên ngoài vị trí này với lệnh

git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull /some/other/repo master 

nhưng tôi tiếp tục nhận được lỗi fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree..

Tôi đang làm gì sai?

+0

Thư mục làm việc hiện tại của bạn là gì? Bạn đang sử dụng phiên bản Git nào? –

+0

Nó giống như thế này: tất cả các tập tin (cây công việc) nằm bên trong một số thư mục như '/ some/repo' và bên trong thư mục này cũng là một thư mục .git'/some/repo/.git'. Tôi thường chạy lệnh git từ bên trong '/ some/repo'. Tôi có phiên bản '1.7.2.3'. – trusktr

Trả lời

9

Đây là lỗi trong các phiên bản trước của Git. Vấn đề này sẽ biến mất sau khi bạn nâng cấp lên 1.7.7.2 hoặc mới hơn.

Từ the commit that fixed the bug:

You can't currently run git-pull or git-rebase from outside 
of the work tree, even with GIT_WORK_TREE set, due to an 
overeager require_work_tree function. Commit e2eb527 
documents this problem and provides the infrastructure for a 
fix, but left it to later commits to audit and update 
individual scripts. 

Xem thêm commit e2eb527.