GIT_DISCOVERY_ACROSS_FILESYSTEMが設定されていません


97

私はいくつかの投稿を検索して読んだことがありますが、私の問題は説明されているものと同じではありません。したがって、ここに問題があります。ディスクの外部パーティションの下にあるフォルダーにgit cloneを使用しても正常に機能しますが、すべてのgitコマンドが失敗します。gitstatusまたはgitlogを実行できません...常にエラーが発生します

致命的:gitリポジトリではありません(または親/ home / koziをマウントするまでの親)ファイルシステムの境界で停止しています(GIT_DISCOVERY_ACROSS_FILESYSTEMが設定されていません)。

私を助けてください..


├──ABI
├──バイオニック
├──ブート可能
├──ビルド
├──CTS
├──のDalvik
├──開発
├──デバイス
├──ドキュメント
├──外部
├──枠組み
├──GDK
├─ ─ハードウェア
├──libcore
├──libnativehelper
├──NDK
├──パッケージ
├──PDK
├──prebuilts
├──の.repo
├──SDK
├──システム
└──ツール


treegitリポジトリ内の出力は何ですか?
クロニアル2013年

わかりました、の出力はls .git何ですか?より長い出力をpastebin.comに貼り付けて、それらにリンクすることができます。
クロニアル2013年

Pastebinにはサイズ制限があります。ここ
BB755 2013年

の出力はls .git何ですか?
クロニアル2013年

@Chronial、ツリー内のネストされた各フォルダーの.git出力を意味しますか?または、私に提供してほしい特定のディレクトリはありますか。ルートフォルダには.repoのみが表示され、.gitは表示されません
BB755 2013年

回答:


140

入力するだけでgit init、あなたのコマンドラインに入力し、Enterを押します。次に、コマンドを再度実行しますgit remote add origin [your-repository]。おそらくを実行していました。

それうまくいかない場合は、私に知らせてください。


ただし、上記の非常識なシナリオでは、ローカルプロジェクトと対応するリモートブランチを再調整するために--forceパラメーターが必要であることに注意してください。私はこれを安全に行うことができました:1)localRepo3のローカルバージョンのブランチを作成する(git initの後):git checkout -b local_version ; 次に2)オリジンを追跡するようにブランチを設定します(コマンド:git remote add origin [your-repository]); 次に3)git checkout remote_branch --force ; 次に4)local_versionブランチをremote_branchにマージします。しかし、git remote add origin [your-repository]はまだここのヒーローでした:)
Andrew Faulkner

GIT_DISCOVERY_ACROSS_FILESYSTEMが設定されていません-herokuで。?私を案内してくれませんか
Sajjad Murtaza 2016年

何らかの理由で、.git / indexファイルまたは.git / HEADファイルを自分で書き込みできない場合も、同じエラーが発生します。それらをあなたに返してください、そして問題は消えます。
C.ケリー

12

このページに出くわし、GIT_DISCOVERY_ACROSS_FILESYSTEMが設定されていないというメッセージについて話しているようなものがいくつかありました。私の場合、システム管理者は、サーバーのディスクが機能しなくなり、再構築する必要がある場合に備えて、マウントされたファイルシステム上にapache2ディレクトリを配置する必要があると判断しました。私はこれを単純なdfコマンドで見つけました:

-->  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>

これを修正するために、rootユーザーのシェルに以下を配置します(etckeeperのリビジョンを確認する必要があるのはそれらだけなので:

export GIT_DISCOVERY_ACROSS_FILESYSTEM=1

そして、すべてが順調で良かった...多くの喜び。

その他の注意事項:

-->  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)

うまくいけば、それはどこかで誰かを助けるでしょう... -wc


6

受け入れられた答えを完了するために、同じ問題がありました。最初にリモートを指定しました

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

git fetch 

次に、コードを取得します

git pull origin master

1

ローカルリポジトリをコピーするときにこの問題が発生しました。

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).

私はgit initいくつかの答えが示唆するように試みましたが、それはうまくいきません。

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

リポジトリの所有者を変更して解決しました

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

0

実際にgithubリポジトリの下にあるかどうかを確認してください。

したがって、.git /をリストすると、結果が得られるはずです。そうでない場合は、リポジトリの範囲外になる可能性があります。

さて、あなたのレポにCDを送れば、準備は完了です。


0

つまり、gitは別のファイルシステムで検討しているリポジトリにアクセスしようとしており、これで問題がないことを明示的に伝えるには、環境変数GIT_DISCOVERY_ACROSS_FILESYSTEM = 1を設定する必要があります。

私はCI / CD環境で作業していて、ドッキングされたgitを使用しているので、その環境で設定する必要がありますdocker run -e GIT_DISCOVERY_ACROSS_FILESYSTEM=1 -v $(pwd):/git --rm alpine/git rev-parse --short HEAD\

興味がある場合:上記は$(pwd)をgit dockerコンテナーにマウントし、コンテナー内のgitコマンドに「rev-parse--short HEAD」を渡します。これにより、マウントされたボリュームに対して実行されます。


-1

repoを使用したAndroidソースコードの場合、REPOを使用する必要があると思います。本当にgitを使用したい場合は、プロジェクトにls-aの.gitディレクトリがあるかどうかを知っておく必要があります。または、.gitを含むサブプロジェクトディレクトリに入る必要があります。


-1

問題は、正しいディレクトリにいないことです。Jupyterでの簡単な修正は、次のコマンドを実行することです。

  1. インストール用のGitHubディレクトリに移動します
  2. GitHubコマンドを実行します

Jupyterで使用するコマンドの例を次に示します。

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

同じセルでコマンドを実行する必要があることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.