Biểu tượng màu xám trong GitHub từ xa có nghĩa là gì


83

Bất cứ ai có thể vui lòng cho tôi biết tại sao tôi có biểu tượng màu xám khi tôi đẩy các tệp của mình lên github? Trong thư mục ứng dụng, phải có mô hình, chế độ xem và bộ điều khiển nhưng trong GitHub từ xa, tôi không thể nhấp vào.

nhập mô tả hình ảnh ở đây

Câu trả lời:


30

Có vẻ như bạn đã tạo một mô-đun con, trỏ đến một vị trí từ xa không thể truy cập.

Xem câu trả lời này . Biểu tượng đó, khi có màu xanh lục, sẽ trỏ đến mô-đun phụ. Tôi cho rằng nó chuyển sang màu xám trong trường hợp của bạn vì mô-đun phụ được định cấu hình không chính xác.

Cho rằng .gitmoduleskhông có, nó phải đã bị xóa, để lại một mô-đun con không có thông tin từ xa.

Nếu đi vào appvà gõ, git remote -vbạn sẽ thấy mô-đun này cũng đang trỏ đến. Địa điểm này hiện không thể truy cập được.

Trong một kịch bản tương tự, tôi đã thêm một mô-đun con và xóa .gitmodules. Kết quả trên GitHub trông như thế này:

thiếu mô-đun phụ


khi tôi đã cố gắng cập nhật submodule git --init nó trả tôi không có bản đồ submodule tìm thấy trong gitmodules cho con đường 'ứng dụng'
BC2

Tôi đã thử git ls-tree --full-tree -r HEAD và nó trả về cho tôi 100644 blob 6628083525c40f2abab01a69c4599d38380b18a5 Rakefile 160000 cam kết 60b600031853f5f4bbc0a2885caf5085bbf873fc app
BC2

mọi thư mục đều có từ blob ngoại trừ ứng dụng ... n không có bất kỳ tệp thư mục nào khác trong ứng dụng ... trong khi trong dự án thực tế bên trong ứng dụng của tôi, vẫn có một vài thư mục như Model, View, Controller, v.v.
BC2

cái gì cat .gitmodulestrả lại? Không đăng các URL thực
Boj

cat: .gitmodules: Không có tệp hoặc thư mục nào như vậy
BC2


23

Git cho rằng nó là một mô-đun con vì nó có thư mục .git bên trong. Sửa chữa...

Đã thay đổi thư mục thành dir vi phạm:

cd <offending git submodule>

Xóa thư mục .git bên trong nó:

rm -rf .git

Cập nhật bộ nhớ cache git:

git rm --cached <offending git submodule>

Đi tới thư mục mẹ:

cd ..

Thêm thư mục vào git:

git add .
git commit -m "Changed submodule to directory"
git push --all

Đây lưu lại cho tôi đau đầu
Elroy Jetson

Câu trả lời chính xác. Làm theo các bước sau đã giúp tôi tiết kiệm được rất nhiều sự nhầm lẫn!
gallen

Câu trả lời tuyệt vời. Điều này đã giúp tôi khỏi bối rối!
Ayubur Rahaman

Đây là câu trả lời đúng nhất sau khi thử một vài câu trả lời thay thế. Cảm ơn đống
Platos-Child

Nên được ủng hộ nhiều nhất. Chỉ một điều, hãy vào thư mục mẹ và sau đó thực hiện git rm --cached <>
Tejas Sharma

20

Có vẻ như bạn đã khởi tạo git bên trong thư mục. Xóa tệp git (rm -rf) khỏi thư mục con và tạo một repo mới và khởi tạo lại git.


3
Câu trả lời rất ngắn gọn! Tôi vừa vào, kích hoạt các tệp ẩn, xóa thư mục git ẩn bên trong dự án của mình và tải lên lại - biểu tượng thư mục màu xám giờ đã biến mất và tất cả đều tốt trở lại trên github. Cảm ơn vì câu trả lời ngắn gọn và đơn giản.
twknab

1

Bạn đã khởi tạo git bên trong thư mục ứng dụng và nó không thể tìm thấy điều khiển từ xa. Xóa tệp .git bên trong ứng dụng. .

[app(master)]$ sudo rm -r .git

Hoặc hiển thị các tệp ẩn bên trong thư mục và thực hiện theo cách thủ công. Sau đó cam kết lại và đẩy lại các thay đổi của thư mục mẹ


1
<3 copy-dán câu trả lời
Simon Somlai

1

Phương pháp dễ nhất mà tôi tìm thấy chỉ đơn giản là xóa thư mục khỏi cục bộ và cập nhật repo từ xa. Điều hướng đến thư mục cục bộ của bạn và cắt thư mục chứa thư mục con .git được thiết lập không chính xác đến một vị trí khác (bên ngoài kho lưu trữ cục bộ, ví dụ: máy tính để bàn) để bạn có thể khắc phục sự cố và sao chép lại sau, sau đó chạy:

git submodule update

git add --all

git commit --all

git push

Thao tác này sẽ xóa thư mục bị xám trên repo từ xa. Sau đó, sao chép lại thư mục đó trong các tệp cục bộ của bạn và chạy add --all commit --all git push như trên, tất nhiên trước tiên hãy chú ý xóa thư mục .git được thiết lập không chính xác khỏi thư mục con để tránh vấn đề tương tự lần nữa; để xác định vị trí này trên hệ thống linux, hãy sử dụng cntrl-h từ trong thư mục để xem các tệp ẩn trong thư mục của bạn, bạn sẽ thấy thư mục .git hiện diện trong thư mục con gây ra sự cố, chỉ cần xóa nó và điều đó sẽ giải quyết


0

Nó đã có .git bên trong và do đó nó có màu xám. tức là nó cũng đã khởi tạo git bên trong nó.


Trong trường hợp của tôi, đây thực sự là vấn đề vì tôi có một thư mục .git bên trong thư mục và sau đó nó dường như tự động tạo một mô-đun con cho thư mục. Tôi không chắc tại sao câu trả lời này bị đánh dấu xuống?
leoncc

0

Trong trường hợp của tôi, tôi đã khởi tạo kho lưu trữ git trong thư mục gốc (thư mục có management.py) khi triển khai tới Heroku trước khi thiết lập kho lưu trữ Git trong thư mục mẹ của dự án.

Sau đó, khi tôi tạo một repo mới trong thư mục mẹ của dự án, thư mục gốc xử lý các chế độ xem mô hình và bộ điều khiển đã bị chuyển sang màu xám. Những điều sau đây đã làm việc cho tôi:

  1. Xóa kho thư mục mẹ
  2. Tạo kho lưu trữ mới mà không cần chọn "Khởi tạo kho lưu trữ này bằng README" vì chúng tôi sẽ nhập kho lưu trữ hiện có.
  3. Trong thư mục gốc của bạn với thư mục quản lý, hãy làm như sau:

    git remote add origin "github repo link"

    git push -u origin master

  4. Làm mới kho Github của bạn và tất cả các thư mục của bạn sẽ có mặt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.