С Git и подмодулями вы начинаете как минимум с двух Git репозиториев. Одним из них является «ваш» репозиторий - основной, который Git будет называть суперпроектом . Второй Git репозиторий - это какой-то другой Git репозиторий: в этом нет ничего особенного. Просто в вашем суперпроекте есть эти две части:
Инструкции по клонированию подмодуля. Это позволяет вашему Git запускать git clone
при необходимости, например, в течение git submodule update --init
.
Необработанный ha sh ID некоторого коммита, который должен быть в этот другой Git репозиторий. Ваш основной репозиторий после клонирования или запуска git fetch
, если это необходимо, в вашем клоне другого репозитория Git, запустит git checkout <em>hash</em>
, используя этот необработанный га sh ID.
Ваш суперпроект запрашивает ha sh ID 151d94a8754b0a612315fc191c5373cc0055c13d
в репозитории Git, который можно клонировать из https://github.com/scopatz/nanorc.git. Этот коммит просто не существует в этом репозитории, поэтому он не находится ни в одном клоне, который вы делаете.
Знаете ли вы, почему ваш суперпроект перечисляет этот коммит с идентификатором sh, даже если он не существует? (Я конечно не знаю.) Вы не можете получить это от их Git, потому что у них его нет. Это то, что все эти сообщения об ошибках говорят вам.
Вы можете попробовать поискать в других репозиториях (или Google) 151d94a8754b0a612315fc191c5373cc0055c13d
(я только что попробовал с Google, но они не могут его найти). Или, если вас не особо интересует этот коммит, попробуйте сказать своему Git - вашему суперпроекту - что он должен получить другой коммит, тот, который делает существует, и поэтому вы можете получить.
Какой коммит должен получить? Понятия не имею: это решать вам. Обратите внимание, что место , где вашего суперпроекта перечисляет необработанный коммит ha sh из подмодуля: в каждом коммите. Вы можете git checkout
сделать коммит, возможно, кончик какой-то ветки, в своем суперпроекте. Затем вы можете войти в подмодуль, выбрать коммит, который вам нравится, использовать git checkout
в этом подмодуле - в конце концов, это еще один клон Git, так что вы можете выполнить там любую команду Git - чтобы проверить нужный коммит. Затем выйдите из субмодуля (измените каталоги обратно на ваш суперпроект) и запустите git add
в пути субмодуля и git commit
, чтобы записать новый желаемый идентификатор ha sh. Этот новый коммит теперь запрашивает , что конкретный га sh ID.