GIT_DISCOVERY_ACROSS_FILESYSTEM chưa được đặt


97

Tôi đã tìm kiếm và đọc một vài bài đăng nhưng vấn đề của tôi không giống như descirbed. Vì vậy, đây là vấn đề: sử dụng git clone vào thư mục dưới phân vùng bên ngoài của đĩa hoạt động tốt nhưng tất cả các lệnh git không thành công. không thể thực thi trạng thái git hoặc nhật ký git ... Tôi luôn gặp lỗi

nghiêm trọng: Không phải là kho lưu trữ git (hoặc bất kỳ phần tử nào được thiết lập để gắn kết cha / nhà / kozi) Đang dừng ở ranh giới hệ thống tệp (chưa đặt GIT_DISCOVERY_ACROSS_FILESYSTEM).

Hãy giúp tôi ra..

.
├── abi
├── bionic
├── có thể khởi động
├── xây dựng
├── cts
├──
dalvik ├── phát triển
├── thiết bị
├── tài liệu
├── bên ngoài
├── khuôn khổ
├── gdk
├─ ─ phần cứng
├── libcore
├── libnativehelper
├── ndk
├── gói
├── pdk
├── bản dựng sẵn
├──
.repo ├── sdk
├── hệ thống
└── công cụ


đầu ra treebên trong git repo của bạn là gì?
Chronial,

ok, đầu ra là ls .gitgì? Bạn có thể dán các đầu ra dài hơn trên pastebin.com và liên kết đến chúng.
Chronial,

pastebin có giới hạn kích thước, tôi đã tải tệp lên đây
BB755,

đầu ra của là ls .gitgì?
Chronial,

@Chronial, ý bạn là đầu ra .git của mỗi thư mục lồng nhau trong cây? Hoặc có thư mục cụ thể nào bạn muốn tôi cung cấp không. Trong thư mục gốc, tôi chỉ có thể thấy .repo và không có .git
BB755,

Câu trả lời:


140

Chỉ cần nhập git initvào dòng lệnh của bạn và nhấn enter. Sau đó chạy lại lệnh của bạn, có thể bạn đã chạy git remote add origin [your-repository].

Điều đó sẽ hoạt động, nếu nó không, chỉ cần cho tôi biết.


Tuy nhiên, lưu ý rằng trong trường hợp điên rồ ở trên, tham số --force được yêu cầu để thiết kế lại dự án cục bộ & nhánh từ xa tương ứng. Tôi có thể thực hiện việc này một cách an toàn bằng cách: 1) tạo một nhánh cho phiên bản cục bộ của localRepo3 (sau git init): git checkout -b local_version ; sau đó 2) thiết lập nhánh để theo dõi nguồn gốc (lệnh của bạn: git remote add origin [your-repository] ); thì 3) git checkout remote_branch --force ; sau đó 4) hợp nhất nhánh local_version thành remote_branch. Nhưng git add xa nguồn gốc [bạn-kho] vẫn còn người anh hùng ở đây :)
Andrew Faulkner

GIT_DISCOVERY_ACROSS_FILESYSTEM chưa được đặt - trên heroku.? bạn có thể hướng dẫn cho tôi
Sajjad Murtaza

Bạn sẽ gặp lỗi tương tự nếu vì lý do nào đó, các tệp .git / index hoặc .git / HEAD không thể tự ghi được. Cắt chúng lại cho bạn và vấn đề sẽ biến mất.
C. Kelly

12

đã chạy trên trang này và một số trang giống như tất cả đều nói về thông báo GIT_DISCOVERY_ACROSS_FILESYSTEM chưa đặt. Trong trường hợp của tôi, quản trị viên hệ thống của chúng tôi đã quyết định rằng thư mục apache2 cần phải nằm trên hệ thống tệp được gắn kết trong trường hợp đĩa cho máy chủ ngừng hoạt động và phải được xây dựng lại. Tôi tìm thấy điều này bằng một lệnh df đơn giản:

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:48:43)--> df -h
Filesystem                           Size  Used Avail Use% Mounted on
<snip>
/dev/mapper/vgraid-lvapache           63G   54M   60G   1% /etc/apache2
<snip>

Để khắc phục điều này, tôi chỉ cần đưa phần sau vào shell của người dùng root (vì họ là những người duy nhất cần xem xét các bản sửa đổi của etckeeper:

export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

và tất cả đều tốt đẹp ... nhiều niềm vui.

Thêm ghi chú:

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:48:54)--> export GIT_DISCOVERY_ACROSS_FILESYSTEM=0

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:35)--> git status
On branch master
nothing to commit, working tree clean

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:40)--> touch apache2/me

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:45)--> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    apache2/me

nothing added to commit but untracked files present (use "git add" to track)

-->  UBIk  <--:root@ns1:[/etc]
--PRODUCTION--(16:57:47)--> cd apache2

-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:57:50)--> git status
fatal: Not a git repository (or any parent up to mount point /etc/apache2)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:57:52)--> export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

-->  UBIk  <--:root@ns1:[/etc/apache2]
--PRODUCTION--(16:58:59)--> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    me

nothing added to commit but untracked files present (use "git add" to track)

Hy vọng rằng điều đó sẽ giúp ai đó ở đâu đó ... -wc


6

Để hoàn thành câu trả lời được chấp nhận, Đã có cùng một vấn đề. Lần đầu tiên chỉ định điều khiển từ xa

git remote add origin https://github.com/XXXX/YYY.git

git fetch 

Sau đó lấy mã

git pull origin master

1

Tôi gặp sự cố này khi sao chép kho lưu trữ cục bộ của mình.

sudo cp -r original_repo backup_repo
cd backup_repo
git status
fatal: Not a git repository (or any parent up to mount point /data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Tôi đã thử git initnhư một số câu trả lời được đề xuất, nhưng nó không hoạt động.

sudo git init
Reinitialized existing Git repository in /data/HQ/SC_Educations/hq_htdocs/HQ_Educations_bak/.git/

Tôi đã giải quyết nó bằng cách thay đổi chủ sở hữu của repo

sudo chown -R www:www ../backup_repo
git status
# On branch develop
nothing to commit, working directory clean

0

Kiểm tra xem bạn có thực sự đang sử dụng github repo hay không.

Vì vậy, việc liệt kê .git / sẽ cung cấp cho bạn kết quả..nên khác, bạn có thể ở một số cấp độ bên ngoài repo của bạn.

Bây giờ, cd vào repo của bạn và bạn đã sẵn sàng.


0

Tóm lại, git đang cố gắng truy cập vào một kho mà nó xem xét trên một hệ thống tệp khác và để nói rõ ràng rằng bạn ổn với điều này, bạn phải đặt biến môi trường GIT_DISCOVERY_ACROSS_FILESYSTEM = 1

Tôi đang làm việc trong môi trường CI / CD và sử dụng git được quét vôi hóa nên tôi phải đặt nó trong môi trường đó docker run -e GIT_DISCOVERY_ACROSS_FILESYSTEM=1 -v $(pwd):/git --rm alpine/git rev-parse --short HEAD\'

Nếu bạn tò mò: Ở trên gắn $ (pwd) vào vùng chứa git docker và chuyển "rev-parse --short HEAD" tới lệnh git trong vùng chứa, lệnh này sau đó sẽ chạy với các volum được gắn đó.


-1

Đối với mã nguồn android có repo, tôi tin rằng bạn nên sử dụng REPO. nếu bạn thực sự muốn sử dụng git, bạn nên biết liệu dự án có thư mục .git với ls -a hay không. Hoặc bạn phải nhập thư mục dự án con bao gồm .git.


-1

Vấn đề là bạn không ở đúng thư mục. Một cách khắc phục đơn giản trong Jupyter là thực hiện lệnh sau:

  1. Di chuyển đến thư mục GitHub để cài đặt của bạn
  2. Chạy lệnh GitHub

Đây là một lệnh ví dụ để sử dụng trong Jupyter:

%%bash
cd /home/ec2-user/ml_volume/GitHub_BMM
git show

Lưu ý bạn cần thực hiện các lệnh trong cùng 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.