Как исправить ошибку «Fatal: Origin не является репозиторием Git»

Git — это распределенная система контроля версий, которая в основном используется для отслеживания изменений в исходном коде при разработке программного обеспечения. GitHub — это онлайн-хостинг для контроля версий на основе Git. Оба этих сервиса широко используются в разработке программного обеспечения. Однако в последнее время появилось множество сообщений о том, что пользователи не могут выполнять команды «git».

Ты не одинок. Вы думаете, что освоили рабочий процесс Git, пока не столкнетесь с ошибкой, которую никогда раньше не видели. Почти неизбежно вы столкнетесь с недоумевающими, а иногда и пугающими сообщениями об ошибках при работе с Git, поэтому первое, что нужно помнить, это то, что другие пользователи Git могут иметь отношение к вашему положению.

Пользователям Git не привыкать к этому досадному Git Fatal: «Origin» не является репозиторием git ошибка. И найти основную причину может быть сложно, если вы не знаете, где искать. Но прежде чем отказаться от Git, вы можете быстро узнать, что вызывает эту ошибку, как ее диагностировать и как избежать ее в будущем.

Что это Fatal: «Origin» не является репозиторием git Проблема?

Команда git init инициирует создание нового репозитория Git. Эта команда просто устанавливает папку в качестве репозитория Git. Он не соединяет один репозиторий с другим.

С другой стороны, команда git clone подключает локальный репозиторий к удаленному. Это связано с тем, что Git знает, где возник код проекта, и использует клонированное вами местоположение, чтобы предсказать, куда вы будете отправлять коммиты.

Когда вы создаете новый репозиторий и пытаетесь зафиксировать код без предварительного указания Git, куда следует поместить код, вы получите сообщение об ошибке «fatal: ‘origin’ не является репозиторием git».

Что такое Git-репозиторий?

GIT-репозитории содержат набор файлов из различных версий проекта. Эти файлы импортируются из репозитория на локальный сервер пользователя для дальнейших обновлений и изменений содержимого файла. VCS или система контроля версий используется для создания этих версий и их сохранения в месте, известном как репозиторий. Клонирование — это процесс копирования контента из существующего репозитория Git с использованием различных инструментов Git.

Когда процесс клонирования завершен, пользователь получает весь репозиторий на свой локальный компьютер. После завершения клонирования Git предполагает, что вся дальнейшая работа с репозиторием будет выполняться пользователем. Пользователи также могут создавать новые репозитории или удалять существующие. Самый простой способ удалить репозиторий — просто удалить папку репозитория.

При работе с репозиториями Git вы, по сути, работаете с каталогами, настроенными как проекты Git. Git можно использовать для создания практически любого каталога на вашем локальном компьютере или на удаленном сервере.

Чтобы правильно определить, почему ваш проект Git не принимает команды или почему ваши удаленные репозитории не распознаются, вы должны сначала понять, что ищет Git при попытке взаимодействия с репозиторием.

Любой каталог, локальный или удаленный, должен быть инициализирован Git, что означает, что вы должны выполнить следующую команду: git init

Если вы запустите эту команду в локальном каталоге, этот каталог будет преобразован в репозиторий Git. Появится сообщение об успехе, указывающее, что команда выполнена успешно. Вы также заметите, что в каждом репозитории Git есть каталог .git, в котором сохраняются важные файлы и контрольные точки.

С другой стороны, при инициализации удаленного репозитория принято использовать параметр –bare: git init –bare

Это создает «голый» репозиторий, который, по сути, представляет собой пустой каталог, который был инициализирован с помощью Git и способен получать и выполнять отправленные ему команды Git. Чистые репозитории — это отличный «хаб», из которого один или несколько пользователей Git могут клонировать, отправлять и получать проект.

Репозиторий Git не связывается автоматически с удаленным репозиторием. Вы получите фатальную ошибку: «origin» не является репозиторием git», если попытаетесь отправить изменения в удаленный репозиторий без предварительного указания его местоположения.

Что вызывает Fatal ‘Origin’ не является репозиторием git Ошибка?

Когда вы пытаетесь клонировать или запускать другие команды в каталоге, который не распознается как репозиторий Git, возникает ошибка «fatal: ‘origin’ не является репозиторием git». Возможно, каталог или путь к удаленному файлу не инициализировал Git или путь к файлу, к которому вы пытаетесь получить доступ как к активному репозиторию, неверен. Вот факторы, которые вызывают эту ошибку:

  • Отсутствует происхождение: эта ошибка возникает, когда отсутствует поле «Происхождение». Некоторые команды не работают должным образом, если ссылка на «Github-Fork» отсутствует.
  • Неверный URL-адрес: в некоторых случаях конфигурация URL-адреса, установленная приложением, может быть неправильной и должна быть изменена. В результате некоторые команды могут работать неправильно.

Git, по сути, указывает, что репозиторий, с которым вы пытаетесь работать, не распознается как проект Git. Вот почему, если вы считаете, что все настроили правильно, ошибка может быть неприятной. Но не волнуйтесь, ошибка могла быть вызвана простой опечаткой.

Теперь мы перейдем к решениям, чтобы у вас было общее представление о природе проблемы. Продолжайте читать, чтобы узнать, что вы можете сделать, чтобы диагностировать и устранить эту ошибку.

Как устранить неполадки Fatal: «Origin/Master» не является репозиторием git. Ошибка

Эта ошибка может быть неприятной, потому что она разрушительна и отнимает много времени. Один из способов избежать сбоев, таких как «фатальный источник не является репозиторием git», — регулярно сканировать ваше устройство с помощью Outbyte MacAries. Этот инструмент предотвращает накопление мелких проблем и превращение их в полный хаос.

Но если вы столкнулись с этой ошибкой, эти шаги должны легко решить ее за вас:

Исправление № 1: добавить источник.

Когда вы пытаетесь зафиксировать только что созданный репозиторий git, созданный с помощью команды git init, вы получаете «фатальную ошибку:« источник », похоже, не является репозиторием git». Это связано с тем, что git init не связывает локальный репозиторий с удаленным репозиторием. Вы можете проверить это, набрав: git remote -v

Если нет удаленного репозитория с именем origin, вы должны добавить его вручную, следуя приведенному ниже решению.

  1. Нажмите одновременно кнопки «Command» и «Пробел». Это должно открыть Spotlight.
  2. Введите «Терминал» и нажмите «Возврат».
  3. Введите следующую команду и нажмите клавишу «Return»: git remote -v
  4. Проверьте, есть ли в списке удаленный репозиторий с именем «Origin».
  5. Если это не так, это означает, что ваш «Происхождение» отсутствует.
  6. Используйте следующую команду, чтобы добавить Origin: git remote add origin url/to/your/fork

Проверьте, сохраняется ли проблема.

Исправление № 2: проверьте путь к файлу вашего удаленного репозитория.

При попытке клонировать, отправить или извлечь содержимое из удаленного репозитория пользователь Git часто будет сталкиваться с ошибкой «источник не является фатальным репозиторием git». Обязательно дважды проверьте путь к файлу удаленного репозитория. Есть несколько подходов к этому.

Если вы клонируете, дважды проверьте наличие необходимого доступа к репозиторию. Если вы не клонируете общедоступный репозиторий на GitHub, вы, вероятно, подключаетесь через SSH. Точно так же вы должны изучить синтаксис вашей команды клонирования. Вот пример базовой команды клонирования, которая подключается к репозиторию через HTTP: git clone

Когда вы запускаете эту команду в предпочитаемом вами эмуляторе терминала, она создает каталог с именем «WordPress», содержащий все основные файлы WordPress. Он также будет включать каталог .git и всю историю проекта. В результате этот каталог станет полнофункциональным локальным репозиторием git. Также будет правильно настроена информация об удаленном репозитории (на GitHub).

Однако, если вы взаимодействуете с частным сервером, не имеющим HTTP-доступа, вы должны изменить этот синтаксис, чтобы включить пользователя сервера с соответствующими привилегиями. Вот почему при настройке частного Git-сервера рекомендуется создать специального пользователя «Git» с доступом к репозиторию: git clone [email protected]:/home/user/production.git

В отличие от варианта HTTP с GitHub, этот URL-адрес клона включает [email protected] В этом случае «пользователь» — это пользователь сервера, у которого есть доступ и привилегии к репозиторию Git на сервере. Имя хоста, доменное имя или IP-адрес сервера, с которым вы пытаетесь связаться, являются пунктом назначения. Объявления пользователя и сервера отделяются от пути к файлу двоеточием (:).

Путь к файлу в этом случае имеет решающее значение. Точное местоположение и имя вашего репозитория указаны в пути к файлу. Репозиторий в предыдущем примере — это каталог с именем production.git.

Всегда используйте расширение .git для каталога репозитория. Каталог production.git находится в домашнем каталоге пользователя, который называется /home/user.

Вы должны точно воспроизвести этот синтаксис, иначе вы получите фатальную ошибку: «origin» не является репозиторием git».

Исправление № 3: измените Origin на Master.

Если вы пытаетесь извлечь из Master, вы должны сначала изменить источник на Master, прежде чем пытаться добавить или удалить удаленный репозиторий. В результате на этом шаге мы изменим Origin на Master. Сделать это:

  1. Нажмите одновременно кнопки «Command» и «Пробел». Это должно открыть Spotlight.
  2. Введите «Терминал» и нажмите «Возврат».
  3. Введите команду здесь, чтобы изменить Origin на master: git pull origin master

Проверьте, не исчезла ли проблема «fatal: ‘origin’ не является репозиторием git».

Исправление № 4. Исправьте поврежденный файл HEAD.

Если описанные выше шаги по устранению неполадок не помогли решить вашу проблему, у вас может быть проблема с файлом HEAD. Этот файл содержит одну строку, которая служит указателем на вашу текущую ветку.

Если вы новичок в Git, термин «ветвь» также может быть вам незнаком. Ветка — это версия вашего репозитория, которую вы можете использовать для тестирования изменений проекта. Каждый репозиторий имеет основную ветку, которая служит источником правды и должна быть той версией, которая развернута в рабочей среде. Если вы хотите внести изменения в основную ветку, вы можете создать отдельную версию своего проекта или ветку, чтобы протестировать изменения. Git обновит файл HEAD, чтобы отразить вашу текущую рабочую ветку, когда вы создадите новую ветку.

Однако в некоторых случаях файл HEAD может быть поврежден, что приведет к Fatal: «Origin» не является репозиторием Git ошибка. Чтобы проверить файл HEAD, вы можете использовать команду cat .git/HEAD для печати содержимого.

Когда вы запустите эту команду, вы должны увидеть имя вашей текущей ветки. Если он не включает текущую ветку, над которой вы работаете, вы должны обновить файл. Вы можете сделать это, введя следующую команду: echo ‘ref: refs/heads/‘ > .git/HEAD

Подведение итогов

Вам не нужно нервничать, когда вы сталкиваетесь с Fatal: «Origin», похоже, не является ошибкой репозитория Git. Если вы столкнулись с этой проблемой, имейте в виду, что Git пытается уведомить вас о том, что ваш текущий рабочий каталог не отслеживается, поэтому выполните основные шаги, описанные в этой статье, которые кратко изложены ниже:

  • Добавить источник вручную.
  • Убедитесь, что вы правильно ввели имя каталога.
  • Убедитесь, что вы правильно создали репозиторий. Если в каталоге отсутствует репозиторий .git, используйте git init для правильной инициализации репозитория или клонируйте существующий репозиторий.
  • Убедитесь, что ваш файл HEAD в текущей ветке содержит правильную информацию. Если нет, измените содержимое файла на ref: refs/heads/

Выполнение описанных выше шагов по устранению неполадок позволит вам устранить ошибку почти в каждом случае всего за несколько минут.

Продолжить чтение

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *