2014-07-07 13 views
6

Nó được seying mà tôi không thể làm điều này:Lỗi với git: "đã tồn tại và không phải là một git repo hợp lệ"

git submodule add -f [email protected]:thephpleague/oauth2-server.git libs/OAuth/functions 

Bởi vì điều này:

'libs/OAuth/chức năng' đã tồn tại và không hợp lệ git repo

Tôi không hiểu. Nó không tồn tại ở bất cứ đâu. Có một tệp cấu hình git git khác bị ẩn trên máy tính của tôi mà tôi không biết hoặc cái gì đó không? Tôi đã thử xóa .gitkéo mọi thứ lại không làm gì cả. Bất kỳ ý tưởng?

Tôi cũng đã cố gắng này:

git ls-files --stage functions 

Khi tôi còn bên trong libs/OAuth và tôi đã không có gì.

Sau đó, tôi cố gắng này:

sudo git rm --cached functions 

Tôi đã nhận lỗi này:

fatal: pathspec 'functions' did not match any files 

Tôi cũng đã cố gắng này:

sudo git rm -r --cached functions 

Và đã nhận lỗi trước đó.

Trả lời

1

Thậm chí nếu các thư mục không tồn tại, kiểm tra tình trạng chỉ số:

cd libs/OAuth 
git ls-files -- functions 

Nếu có một mục đăng ký trong chỉ mục, bạn sẽ cần phải loại bỏ nó trước khi có thể thêm subrepos bạn như là một submodule.
(như đã giải thích trong "Issue with adding common code as git submodule: “already exists in the index”")

Tất cả điều này giả định rằng bạn đang ở thư mục gốc của một repo hiện nhân bản, mà sẽ hoạt động như repo mẹ của bất kỳ submodule bạn sẽ tuyên bố.

+0

Tôi đã làm lệnh của bạn và tôi đã không nhận được bất cứ điều gì. Sau đó, tôi đã cố gắng để thêm các mô-đun một lần nữa nhưng không hoạt động. Tôi đang gặp một lỗi tương tự. – jnbdz

+0

@jnbdz là bạn trong một repo git khi bạn đang làm lệnh này? – VonC

+0

Có. Tôi ở gốc rễ của nó khi tôi cố gắng thêm submodule. – jnbdz

4

Trong trường hợp ai đó đã có một trường hợp tương tự như tôi và đã phải vật lộn với điều này như tôi là vì một lý do ngớ ngẩn:

Kiểm tra nếu vì lý do nào đó tập tin không đã tồn tại (Tôi đã thất bại git subomdule thêm trước đó)

Vì vậy, trong bối cảnh của rm câu hỏi file:

rm -rf libs/OAuth/functions

Và sau đó thử lại thêm

Các vấn đề liên quan