Я не могу нажать, потому что локальный репозиторий устарел, но я не могу вытащить данные - PullRequest
0 голосов
/ 08 октября 2018

поэтому я пытаюсь использовать bitbucket для удаленного репозитория, после создания репозитория на их веб-сайте, я пытаюсь отправить свой локальный репозиторий

, но я не могу передать данные, потому что это локальный репозиторийустарел в моем Xcode enter image description here

, когда я пытаюсь извлечь данные из bitbucket, кажется, все кнопки и опции отключены enter image description here

толстая коробка и кнопка отключения.

здесь статус с терминала enter image description here

Я тоже пытался вытащить с терминала enter image description here

Я застрял, что мне делать?

1 Ответ

0 голосов
/ 08 октября 2018

Ваш git push из Терминала завершается ошибкой с:

! [rejected]        master -> master (non-fast-forward)

, а ваш git pull из Терминала завершается ошибкой с:

fatal: refusing to merge unrelated histories

, что говорит нам о том, что нам нужно знать.(Кроме того, мне было бы намного проще читать их как вставленный при копировании текст, а не как изображения.) В частности, вы создали локальный репозиторий, который совершенно не связан с удаленным репозиторием.

Это происходит, когда вы запускаете новый Git-репозиторий локально, запуская git init, а затем добавляя и фиксируя некоторые файлы в новом репозитории.Этот новый репозиторий не связан с существующими репозиториями. 1

Затем вы запускаете git remote add origin <em>url</em> в своем локальном репозитории, сообщая вашему Git, что ваш локальный репозиторий напрямую связан с репозиторием Git по адресу 1022 * URL *.Твой Гит верит тебе.(Это не единственный способ добраться до этой точки, но, вероятно, это тот способ, которым вы дошли до этой точки, даже если вы сделали это через Xcode.)

Как только у вас есть эти два не связанных между собой Gits, готовые к разговорудруг другу, вы заставляете своего мерзавца вызывать своего предполагаемого брата (двоюродного брата? мать? что бы это ни было), мерзавца и разговаривать с ним.С git push ваш Git предлагает, чтобы они взяли ваши новые коммиты, которые добавляются к их, но ваши не добавляют к их, поэтому они говорят: нет, это не быстро-forward: ваши коммиты не связаны должным образом с моим. С git pull ваш Git получает свои коммиты, а затем ваш Git запускается git merge, чтобы объединить ваши коммиты с их родственниками из другого Git.Ваш Git говорит: Ого, подождите, эти коммиты не связаны!Я не могу жениться на этих двоих!

Есть несколько разных способов исправить это.Какой из них использовать, зависит от первоначальной ошибки.Должны ли вы изначально использовать git clone для клонирования хранилища Bitbucket, чтобы ваше хранилище было связано с ?Или если у вас не было созданного хранилища Bitbucket, как вы это сделали, так что исходное хранилище Bitbucket было пусто и готово быть заполненным из вашего хранилища так, чтобык стать связанным?

Узнайте, что из этого случая.Затем, вооружившись знанием того, где была первоначальная ошибка, вернитесь в StackOverflow и найдите, как исправить исходную ошибку, сохранив при этом всю вашу работу.


1 Обратите внимание, что полностью пустой репозиторий - один без коммитов - также не имеет отношения к любому другому репозиторию, но, поскольку это чистый лист, он совершенно счастлив жениться с любым другим репозиторием Git на данный момент .Например, git clone работает: когда вы клонируете какой-либо существующий репозиторий, вы начинаете с создания нового, полностью пустого репозитория.Затем вы вступаете в брак с другим хранилищем, которое вы обычно называете origin, используя git fetch, за которым следует git checkout master, и теперь эти два хранилища делятся всеми своими master коммитами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...