"Nghiêm trọng: Không phải là kho lưu trữ git (hoặc bất kỳ thư mục mẹ nào)" từ trạng thái git


99

Lệnh này hoạt động để lấy các tệp và biên dịch chúng:

git clone a-valid-git-url

ví dụ:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Tuy nhiên, git status(hoặc bất kỳ lệnh git nào khác) sau đó đưa ra fatal: Not a git repository (or any of the parent directories)lỗi trên .

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


6
Mã đã kiểm tra có trong liggghtsthư mục.
Eugen Constantin Dinca

Câu trả lời:


161

Trước tiên, bạn phải thực sự đưa cd vào thư mục:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

1
Bạn cũng gặp lỗi này khi git lưu vào thư mục .git của chính nó. Tôi đã kéo và thấy thông báo "Tự động đóng gói kho lưu trữ trong nền để có hiệu suất tối ưu." Sau đó tôi đã cố gắng thực hiện thêm một số thao tác, chỉ nhận được thông báo lỗi của OP. Thư mục .git của tôi vẫn còn đó, nhưng git đã làm hỏng nó bằng cách nào đó. Đang chạy đã git initkhắc phục sự cố.
Cerin

Tôi thật ngu ngốc. Đang thử trạng thái git trước khi vào thư mục :) Cảm ơn bạn rất nhiều.
webHasan

12

Tôi vừa nhận được tin nhắn này và có một câu trả lời rất đơn giản trước khi thử những người khác. Tại thư mục mẹ, gõgit init

Thao tác này sẽ khởi tạo thư mục cho git. Sau đó git addgit commitsẽ hoạt động.


Trước hay sau khi nhân bản? Điều này có tạo ra một repo git mới không? Điều này sẽ hoạt động như thế nào với kho git hiện có và lịch sử đã được sao chép? Điều gì xảy ra với remotecài đặt ban đầu theo sự sắp xếp này?
Michael Durrant

11

Trong trường hợp của tôi, là một biến môi trường GIT_DIR, mà tôi đã thêm vào để truy cập nhanh hơn.

Điều này cũng đã phá vỡ tất cả các repo cục bộ của tôi trong SourceTree :(


5

Đôi khi là do ssh. Vì vậy, bạn có thể sử dụng cái này:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

thay vì:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Tôi đã gặp lỗi khi chỉ cố sao chép repo vào máy cục bộ của mình. Tôi đã chuyển TỪ sử dụng https: // SANG git: // và nó đã được nhân bản thành công. Thx đã chỉ tôi đúng hướng.
Scott Wade

4

trong trường hợp của tôi, tôi đã gặp vấn đề tương tự khi tôi thử bất kỳ lệnh git nào (ví dụ: trạng thái git) bằng cách sử dụng Windows cmd. vì vậy những gì tôi làm là sau khi cài đặt git cho cửa sổ https://windows.github.com/ trong các biến môi trường, thêm đường dẫn lớp của git trên "PATH" có thể thay thế. thường thì git sẽ được cài đặt khi C:/user/"username"/appdata/local/git/binthêm cái này vào PATH trong biến môi trường

và một điều nữa trên cmd, hãy chuyển đến kho lưu trữ git của bạn hoặc cd đến nơi bản sao của bạn trên cửa sổ của bạn thường chúng sẽ được lưu trữ trên các tài liệu dưới github

cd Document/Github/yourproject

sau đó bạn có thể có bất kỳ lệnh git nào


3

Tôi đã có một vấn đề khác. Tôi đã ở trong một thư mục git, nhưng đến đó thông qua một liên kết tượng trưng. Tôi phải truy cập trực tiếp vào thư mục (tức là không thông qua liên kết biểu tượng) thì nó hoạt động tốt.


3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

bạn phải "cd projone"

sau đó bạn có thể kiểm tra trạng thái.


Một lý do tại sao điều này lúc đầu khó nhận thấy, tôi vì bạn đã tạo một thư mục có cùng tên trong máy tính của mình và đó là nơi bạn nhân bản dự án vào, vì vậy bạn phải thay đổi lại thư mục



3

Lỗi này đã được giải quyết khi tôi thử khởi tạo git bằng git init . Nó đã làm việc


2

Trong trường hợp của tôi, kho lưu trữ ban đầu là một kho lưu trữ trống.

Vì vậy, tôi phải nhập (trong cửa sổ):

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

Để kiểm tra xem một kho lưu trữ có phải là một kho lưu trữ không:

git rev-parse --is-bare-repository 

1

Đơn giản, sau khi sao chép repo, bạn cần cd (thay đổi thư mục hiện tại của bạn) sang thư mục nhân bản mới

git clone https://User_Name@bitbucket.org/Repo_Name.git

cd Repo_Name

1

Nếu Giải pháp Dự án Hiện tại được lên kế hoạch chuyển sang TSF trong VS Code:

mở Terminal và chạy các lệnh sau:

  1. Khởi tạo git trong thư mục đó (Thư mục gốc)

    git init

  2. Thêm Git

    git add .

  3. Liên kết TSf / Git của bạn với Dự án đó - {url} thay thế bằng địa chỉ git của bạn

    git remote add origin {url}

  4. Cam kết những Thay đổi đó:

    git commit -m "initial commit"

  5. Đẩy - Tôi đã đẩy mã là phiên bản1, bạn có thể sử dụng bất kỳ tên nào cho chi nhánh của mình

    git push origin HEAD:Version1


0

Tôi đột nhiên gặp lỗi như trong bất kỳ thư mục nào mà tôi đã cố chạy bất kỳ lệnh git nào từ:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

Đối với tôi, hóa ra tôi có một tệp ẩn .gittrên Máy tính để bàn của mình với nội dung:

gitdir: ../../.git/modules/some-module

Đã xóa tệp đó và sửa.


0

tôi có cùng một vấn đề từ mạng văn phòng của tôi. tôi sử dụng lệnh này nhưng nó không hoạt động với url của tôi , vì vậy như thế này: trước đây $ git clone https://gitlab.com/omsharma/Resume.git

Sau khi tôi sử dụng URL này: $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git hãy thử nó.

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.