Git push: "фатальное" происхождение "не является репозиторием Git - фатальным. Не удалось прочитать из удаленного репозитория".
Я знаю, что подобные вопросы уже заданы.
Но, я считаю, что моя проблема связана с ошибкой, которую я сделал ранее, и поэтому другой: позвольте мне объяснить.
Все работало гладко, как я мог:
-
git add .
все файлы из моего локального репозитория.
-
git commit -m "message here"
, чтобы добавить сообщения в мои коммиты.
-
git push origin master
, чтобы загрузить мои файлы в GitHub.
-
git push heroku master
, чтобы загрузить мои файлы в Heroku.
Однако в какой-то момент я создал новую ветвь, локально называемую add-calendar-model
, в случае, если следующие шаги разработки приложения будут идти на юг...
... это именно то, что произошло.
Однако, несмотря на множество попыток, мне не удалось получить начальный код - то есть код до того, как я создал новую ветку - от ветки master
до моего локального репозитория.
Итак, я решил вручную удалить все файлы из моего локального репозитория и ветки git clone
my master
из GitHub.
Таким образом, я вернул все свои файлы, но теперь я больше не могу больше удалять в удаленный репозиторий.
В любой момент, когда я пытаюсь запустить git push origin add-calendar-model
или git push origin master
, я получаю следующую ошибку:
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Мне не очень удобно с Git и GitHub, как вы уже догадались, и я должен признать, что я не знаю, как это исправить.
Любая идея?
Ответы
Ответ 1
Сначала убедитесь, что ваш источник установлен, запустив
git remote -v
Это должно показать вам все пульты Push/Fetch для проекта.
Если это возвращается без вывода, пропустите последний блок кода.
Проверить удаленное имя/адрес
Если это возвращается, показывая, что у вас установлены пульты, убедитесь, что имя удаленного пользователя совпадает с удаленным, который вы используете в своих командах.
$git remote -v
myOrigin ssh://[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://[email protected]:1234/myRepo.git (push)
# this will fail because `origin` is not set
$git push origin master
# you need to use
$git push myOrigin master
Если вы хотите переименовать удаленный или изменить удаленный URL-адрес, вам нужно сначала удалить старый пульт, а затем добавить правильный.
Удалите старый удаленный
$git remote remove myOrigin
Добавить отсутствующий удаленный
Затем вы можете добавить правильный пульт, используя
$git remote add origin ssh://[email protected]:1234/myRepo.git
# this will now work as expected
$git push origin master
Ответ 2
Как сказал Мэтт Кларк выше
Однако исходное значение может быть не установлено, поэтому пропустите шаг удаления и просто попытайтесь добавить его, чтобы очистить его.
git remote add origin <"clone">
Где "клон" просто входит в ваше репо GitHub и копирует "URL-адрес клонирования HTTPS" и вставляет в GitBash
Ответ 3
Убедитесь, что файл конфигурации в .git верен... Проверьте URL-адрес и убедитесь, что вы используете правильный протокол для своих ключей
... ProjectWorkspace/.git/конфигурации
~Wrong url for [email protected]
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = gitbucket.org:Prezyack/project-one-hello.git
fetch = +refs/heads/*:refs/remotes/origin/*
~Wrong URL for SSH...
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/emmap1/bitbucketspacestation.git
[branch "master"]
remote = origin
merge = refs/heads/master
Мы смотрим URL-адрес...
например: для битбакет, ожидайте git @bitbucket.org.... Если его gitbucket.org. внести необходимые изменения..
СПАСТИ
Повторите попытку.
Ответ 4
Похожая ошибка появляется при извлечении изменений из источника. Если вы пытаетесь в Intellij из пунктов меню, извлечение может не работать напрямую.
Зайдите в терминал и введите эту команду, и это должно сработать: git pull origin master
Ответ 5
Иногда у вас нет локального REF для перемещения этой ветки обратно к источнику.
Пытаться
git push origin master:master
Это явно указывает, какую ветвь нажать (и из)