Я знакомлюсь с Git, следуя этому руководству:
Все работает нормально до той части, где репо добавляется на мою локальную машину:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(После замены USERNAME, NFSNSERVER и REPOAME на правильные имена) я получаю сообщение об ошибке:
fatal: Not a git repository (or any of the parent directories): .git
Можете ли вы помочь мне пройти этот шаг?
git init
но также убедитесь, что ни одна из ваших подкаталогов не имеет своей собственной.git
папкиОтветы:
Вы инициировали локальный репозиторий Git, в который предполагается добавить этот пульт?
В вашем локальном каталоге есть
.git
папка?Попробуй
git init
.источник
.git
папка пропала. Этоgit init
то же самое, что удалить папку хранилища, а затемgit clone ...
. Все, что мне нужно сделать, этоpull
.git
папка исчезла, вы можете запуститьgit init
снова, чтобы создать новую. Вам нужно будет повторно добавить пульт, прежде чем вы сможете извлечь из него.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Вы получите эту ошибку, если попытаетесь использовать команду Git, когда ваш текущий рабочий каталог не находится в репозитории Git. Это потому, что по умолчанию Git будет искать
.git
каталог репозитория (внутри корня проекта?), Как указано в моем ответе «Git не будет показывать журнал, если я не нахожусь в каталоге проекта» :Вам либо нужно
cd
войти в репозиторий / рабочую копию, либо вы не инициализировали или не клонировали репозиторий в первую очередь, и в этом случае вам нужно инициализировать репо в каталоге, где вы хотите разместить репо:или клонировать хранилище
источник
git init
. После прочтения вашего ответа, я использовал это несколько раз в хранилищах , что я сделал клон, но не был признан. Таким образом, это кажется безопасным при запуске из дерева каталогов, которое, как предполагаетсяgit repository
, имеет все файлы в каталоге git, но утверждает, что это не такfatal: Not a git repository (or any parent up to mount point
Моя проблема заключалась в том, что для некоторых сбоев с моей ОС любая команда в моем локальном репозитории заканчивалась "fatal: не git-репозиторий (или любой из родительских каталогов): .git", включая команду fsck.
Проблема была в пустом файле HEAD .
Мне удалось найти фактическое имя ветки, над которым я работал, в .git / refs /head, а затем я сделал это:
Это сработало.
источник
ПРИМЕЧАНИЕ: это не отвечает на общую проблему, которая была проблемой OP, но на другую проблему, где может появиться это сообщение об ошибке. Я не хотел задавать новый вопрос, просто чтобы записать этот ответ, и скажите мне, если я должен сделать это вместо этого: P
Я попал в ситуацию, скорее всего, из-за некоторого искажения определенного сбоя, что я получил эту ошибку, даже когда
.git
она существовала.Поскольку у меня не было ничего, что действительно нуждалось в сохранении, я просто пошла глупым путем и сделала ...
Тем не менее, не работает, как, например,
git log
возвращаетfatal: bad default revision 'HEAD'
. Правда, там были удаленные действия , поэтому я сделал это,git fetch --all
а затем просто пришелgit reset --hard origin/master
в состояние, в котором был репо.Обратите внимание, что если есть некоторые незафиксированные изменения, вы можете увидеть их с помощью
git status
,git diff
и так далее. Затемgit diff yourfile > patch
перед запуском перезагрузки.По крайней мере, для меня reflog (
git reflog
) исчез полностью. Следовательно, если вы делаете сброс, и вы хотели предотвратить некоторые изменения, я не уверен, что вы сможете вернуть их после сброса. Поэтому убедитесь, что у вас есть все резервные копии изменений, которые вы не можете потерять, в конечном итоге, просто скопировав клон, прежде чем пытаться это сделать.источник
git init
иgit fetch --all
действительно исправила проблему.Просто введите следующее в вашей командной оболочке cmd или git или любом другом терминале:
источник
Эта проблема возникла у меня после того, как я переместил расположение git-проекта в файловую систему. Когда я запустил некоторые команды git, произошла ошибка, например:
Я нашел в
/home/rospasta/path_old/gitprojecta/.travis/.git
абсолютном пути, старое местоположение проекта было написано. Обновление этого пути в новом месте вручную решило проблему для меня.Так что моя проблема может или не может быть проблема мерзавца, но HTH.
источник
В случае, если это кому-то поможет, я получил это сообщение об ошибке после случайного удаления .git / objects /
Восстановление его решило проблему.
источник
В командной строке / CLI вы получите эту ошибку, если ваш текущий каталог НЕ является хранилищем. Итак, вы должны сначала CD в репо.
источник
Возможно, слишком поздно, но другое решение, которое может помочь будущим посетителям. Сначала удалите старый
.git
каталог -Затем снова инициализируйте git-репо
источник
fatal
ошибке, даже если.git
папка существует.Кажется, вы не идете в свою папку. Например, если я работаю над проектом с именем bugsBunny, и он сохранен в папке d: / work: code, то сначала вы должны перейти в эту папку с помощью cd d: / work / code / bugsBunny, а затем можете продолжать использовать ваши команды git.
источник
Даже у меня была такая же проблема. я написал скрипт оболочки, который будет копировать все мои коды в мое git-репо в рабочие дни недели в 17:55 с помощью crontab. просмотрев логи cron я обнаружил вышеупомянутую проблему.
Вышеприведенная проблема возникает только тогда, когда вы пытаетесь выполнить команды git из не-gir-каталога (то есть из другого каталога, который не является рабочей копией). чтобы исправить это добавление
-C <git dir>
в команду git, которую вы выполняете так, чтоgit status
будетgit -C /dir/to/git status
иgit add -A
будетgit -C /dir/to/git -A
.источник
В моем случае я использовал Tortoise SVN и допустил ошибку, чтобы одновременно использовать функции GIT Visual Studio. Это заставило Visual Studio заблокировать файл HEAD внутри папки .git, чтобы ни VS, ни Tortoise не могли получить доступ к репо, и я получил ошибку «fatal: Not the git repo ...» в обоих приложениях.
Решение:
источник
Для этого вам нужно ввести одну команду, которая отсутствует в командах bitbucket
Пожалуйста, попробуйте git init.
источник
в моем случае у меня была такая же проблема, когда я пробовал любые команды git (например, git status), используя windows cmd. так что я делаю после установки git для окна https://windows.github.com/ в переменные окружения, добавив путь к классу git в переменную «PATH». обычно git устанавливается на C: / user / "username" / appdata / local / git / bin и добавляет это в PATH в переменной среды
и еще одна вещь в cmd идет в ваш git-репозиторий или cd, где ваш клон находится в вашем окне, обычно они будут храниться в документах в github cd Document / Github / yourproject, после чего вы можете иметь любые команды git
благодарю вас
источник
Перейдите в исходную папку, где хранится локальный репозиторий, например, мой пример находится в c: / GitSource, щелкните правой кнопкой мыши в папке, нажмите здесь git bash, затем git status ....
источник
GIT_DIR должен быть не установлен:
unset GIT_DIR
источник
В моем случае файл .git / HEAD был поврежден (содержал только точки). Поэтому я отредактировал его и заменил его на:
ref: refs/heads/master
и это снова заработало.
источник
Для меня это было связано с неправильным владением
.git/
пути.root
принадлежит.git/HEAD
и.git/index
, не даваяjenkins
пользователю запустить работу.источник
.git/HEAD
и.git/index
кroot:root
, я все еще в состоянии добавить пульты без ошибок. При изменении права собственности на весь.git
каталог доroot
, я получаю другую ошибку:error: could not lock config file .git/config: Permission denied
.Ниже показано, что Gits не нашел файл .git в текущем каталоге, поэтому выдается сообщение об ошибке.
Поэтому перейдите в каталог на каталог репозитория, в котором вы извлекаете код из git, а затем выполните эту команду.
источник
В моем случае я обнаружил, что git в windows стал чувствительным к регистру для буквы диска с некоторой точки.
После обновления бинарного git в windows cli команды, которые раньше работали, прекратились. например, путь в сценарии был D : \ bla \ file.txt, а команда git принимала только d : \ bla \ file.txt
источник
мерзавец работал нормально, чтобы быть, и вдруг он начал показывать это
fatal: Not a git repository (or any of the parent directories): .git
сообщение.Для меня не уверен, что было повреждено в папке .git, я сделал
git clone ** newfolder
и скопировал всю папку .git в мою поврежденную / старую папку, где я вносил изменения, прежде чем git начал показывать сообщение об ошибке ..Все вернулось на круги своя, и git также распознал мои измененные / неустановленные файлы.
источник
восстановить
.git/ORIG_HEAD
и другие корневые файлы репозитория .gitЯ получил эту ошибку после восстановления из резервной копии, по-видимому, файлы, содержащиеся в корне каталога .git, не дошли до цели, но все подпапки сделали это сначала, я думал, что хранилище не повреждено.
Я исправил это, восстановив корневые файлы.
источник
У меня была эта проблема с плагином Jenkins Git после проблем аутентификации с GitLab. Дженкинс сообщал о hudson.plugins.git.GitException: [...] stderr: GitLab: Проект, который вы искали, не найден. Неустранимый: Не удалось прочитать из удаленного хранилища.
Однако, если бы я делал 'git clone' или 'git fetch' прямо из окна Jenkins (командная строка), это работало без проблем.
Проблема была решена путем удаления всего каталога / рабочей области в папке заданий Jenkins для этой конкретной работы, например
Предположительно, локальная папка .git устарела?
источник
Это также может быть связано с разрешениями. Проверьте разрешения владельца / группы и убедитесь, что у вас есть соответствующие разрешения для доступа к этим данным. В моем случае я сталкивался с этой ошибкой при запуске «git status» в репозитории, в качестве владельца которого было установлено root: root. Запуск "git status" от имени root решил мою проблему. В качестве альтернативы, если вы не хотите, чтобы владельцем группы / пользователя был root: root, добавьте репо к тому, к чему у вас есть доступ.
источник
У меня была эта проблема, и я исправил ее, добавив файл README.md
источник
В моем случае сбой системы привел к повреждению файла HEAD. В этом руководстве показано, как решить эту и другие проблемы, с которыми вы можете столкнуться.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
источник