fatal refusing to merge unrelated histories что делать

Как исправить ошибку GIT

hint: Updates were rejected because the remote contains work that you do

hint: not have locally. This is usually caused by another repository pushing

hint: to the same ref. You may want to first integrate the remote changes

Репозиторий на GitHub был только что создан и там нет никаких изменений

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

2 ответа 2

У вас есть там изменения, которых нет в локальном репозитории. Вы сделали не пустой репозиторий на Github, а с начальным коммитом. У локального репозитория свой первый коммит и эти коммиты, как вы понимаете, не равны (фактические у вас просто два разных репозитория).

У меня была такая же ошибка, когда я сначала создал локальный репозиторий. Потом перешел на ГитХаб и создал новый репозиторий там. Затем выполнил

А когда попробовал сделать push/pull, получил ту же fatal: unrelated_histories ошибку. И вот как я поправил это:

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками git или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.9.40693

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

How to fix «refusing to merge unrelated histories» when uploading project to github?

I have installed Github desktop and git on windows machine, I got a github account and created a dummy repository.

When I intend to upload my package through git bash command line, it fails with error: fatal: refusing to merge unrelated histories

I used several ways to overcome this issues by using existing solution from this community, but still didn’t fix the problem. Does anyone know any trick of working this problem? How can I upload my projects to github successfully?

3 Answers 3

git log output (1st is GitHub repo, 2nd is local):

PS Funny, I never noticed that the default initial commit message from GitHub is Initial Commit, whereas the local one is Initial commit (lowercase). I think I’ll send that question in to Jack Handy.

Be sure to replace /path/to/my/repo with path to your repo directory(e.g. C:\Users\jvrat\Documents\MSPC ), and with URL to your remote repo (e.g. https://github.com/username/repo_name.git ).

The first step is to init git inside your local project directory:

Files added to your repo are tracked now. If you want to commit all the changes you made to the files you added you just need to

These all resides on your local git repo. To connect your local repo to a remote one you have to issue another command:

‘origin’ and the following URL represent remote name and its URL. You are now able to push your local changes to your origin repo via

which is in your case

because for now you just have a master branch.

You can check the status of your local repo and its connected remote repo via

Источник

Git отказывается объединять несвязанные истории при перебазировании

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

фатальный отказ объединить несвязанные истории

В течение git rebase origin/development следующее сообщение об ошибке отображается из Git:

Как я могу продолжить эту перебазировку, разрешив несвязанные истории с принудительным флагом, введенным в новом выпуске?

Поведение по умолчанию изменилось с Git 2.9:

Дополнительную информацию см. В журнале изменений выпуска Git.

В моем случае ошибка была просто fatal: refusing to merge unrelated histories при каждой попытке, особенно при первом запросе на перенос после удаленного добавления репозитория Git.

Попробуйте следующую команду:

Это должно решить вашу проблему.

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

Когда я пытался толкать или тянуть, у меня было то же самое fatal: unrelated_histories ошибка каждый раз.

Вот как я это исправил:

Для этого введите команду:

Проблема с несвязанными историями на GitHub

Вы будете перенаправлены в окно редактирования Vim:

У меня такая же проблема. Попробуй это:

Для Android Studio и IntelliJ:

Первый, совершить все и разрешить любые конфликты.

Затем откройте терминал снизу IDE и введите:

Теперь можно толкать.

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

РЕШЕНИЕ

Я только что сделал

ПРЕДУПРЕЖДЕНИЕ, ЭТО ПОТЕНЦИАЛЬНО ЗАПИСЫВАЕТ УДАЛЕННЫЙ РЕПОЗИТОРИЙ

Это сработало для меня:

Поскольку все остальные ответы на самом деле не отвечают на вопрос, вот решение, вдохновленное этим ответом на связанный вопрос.

Итак, вы получаете свою ошибку, делая git rebase :

Эта ошибка на самом деле не отменяет перебазирование, но теперь вы находитесь в середине:

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

Узнайте, какой из двух родителей слияния является тем, который был объединен с текущим (возможно, вторым, проверьте с помощью git log 222222222 ), а затем выполните слияние вручную, скопировав сообщение фиксации исходной фиксации слияния:

У меня такая же проблема. Проблема в том, что удаленно что-то мешает этому.

Сначала я создал локальный репозиторий. Я добавил LICENSE а также README.md файл в мой локальный и совершенный.

Затем мне понадобился удаленный репозиторий, поэтому я создал его на GitHub. Здесь я сделал ошибку, отметив «Инициализировать этот репозиторий с помощью README», который также создал README.md на удаленном компьютере.

Итак, когда я бежал

Теперь, чтобы преодолеть это, я сделал

Это привело к ошибке ниже:

Я удалил удаленный репозиторий и создал новый (думаю только удаление файла README мог работать), и после этого работало следующее:

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

Сначала перетащите удаленные изменения на свой локальный, используя следующую команду:

** имя ветки является основным в моем случае.

Когда команда pull выполнена, возникает конфликт. Вы должны разрешать конфликты. Я использую Android Studio для решения конфликтов.

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

Когда конфликты разрешены, слияние завершено!

Теперь можно смело толкать.

Я выполнил эту команду, и проблема была решена.

Я тоже боролся с этим, но мне удалось найти обходной путь.

Когда вы столкнетесь с ошибкой выше, просто выберите фиксацию слияния, а затем продолжите перебазирование:

Я скопировал все файлы из репозитория рабочего стола в другую папку, а затем удалил папку.

Затем я снова клонирую репо, потому что это новый проект.

Когда я снова скопировал свои файлы и нажал, это сработало как шарм.

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

Это исправило это в моем случае.

Для гуглеров:

Теперь у локального и удаленного будут «связанные истории», и они будут успешно объединяться или переставлять.

Итак, мой обычный рабочий процесс перебазирования выглядит следующим образом (но имейте в виду, что вы не должны использовать перебазирование в ветвях, которые вы не единственный комитет. Для таких веток используйте просто слияние и разрешение конфликтов, если применимо):

Как я уже упоминал, имейте в виду, что rebase манипулирует историей git, что обычно плохо. Однако это можно сделать в ветвях, где никто не берет на себя обязательств. Чтобы ветка оставалась доступной для других разработчиков, используйте другую стратегию слияния, такую ​​как слияние, сквош или вишня. Другими словами: Rebase не должен быть вашим инструментом при распределенной разработке. Он отлично работает для вас, если вы единственный, кто работает с этим репозиторием.

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

Источник

Git failed with a fatal error. refusing to merge unrelated histories with git push?

but it didn’t work, I got a message saying that this is an unknown option.

I normally work with visual studio. I got the error there, and I am not fluent at all with git when it comes to the bash. I git bashed to my folder with gitignore files and so on, and tried to do the changes. I would prefer to do this from visual studio if possible really, but I don’t know how to modify options from visual studio either.

Edit: Apparently what I want to do is not actually doable. I found that the pull command did ‘sort of’ what I expected, but not really. I tried changing the username of all commits, to no vain because github will still keep the wrong username. Now every commit is simply doubled with the correct and incorrect username.

3 Answers 3

on gitlab you have to UNROTECT your master branch ( in settings→repository)

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

Do you care a lot about preserving your commit history?

git status (to check if everything you want is staged)

git log (to view the commit history and make sure it’s what you want)

This will retain the changes you made to local while allowing you to overwrite the remote with the history you just revised.

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

You cannot change anything about any existing commit. All commits are 100% read-only.

What you can do is take a series of commits that have something about them that you don’t like—such as the name and/or email address of the author and/or committer—and copy them to new and improved commits that are otherwise the same, but have this issue corrected. It appears that this must be what you did, because:

This doubling is, of course, exactly what you did when you made corrected commits. You told your Git to discard the old (incorrect) commits in favor of the new improved ones, and it did. But another Git repository—the one over on GitHub—still had, and has, the incorrect commits. You then told your Git to obtain any commits they have, that you don’t—which in this case were the commits you’d just discarded—and then join them up with the commits you have that they don’t, which in this case are your new-and-improved replacements.

Note that discarding any given commit necessarily discards all subsequent commits. So if there are additional commits you’d like to keep, you must first copy those to new-and-improved commits, whose improvement is that they append to your existing new-and-improved commits.

Источник

Trying to pull files from my Github repository: «refusing to merge unrelated histories»

I’m learning git, and I’m following the Git community book.

Previously (long time ago) I made a public repository on Github, with some files. Now I set up a local Git repository on my current computer, and committed some files. Then I added a remote pointing to my Github page:

That seemed to be successful:

Now I want to download the files from my Github repo to my computer. I did this:

However, I don’t see any new files in my local directory. How can I get them?

I also tried to do this:

BTW, locally I’m on master branch (there are no other branches):

9 Answers 9

Like max630 commented, or as explained here Git refusing to merge unrelated histories

fatal refusing to merge unrelated histories что делать. Смотреть фото fatal refusing to merge unrelated histories что делать. Смотреть картинку fatal refusing to merge unrelated histories что делать. Картинка про fatal refusing to merge unrelated histories что делать. Фото fatal refusing to merge unrelated histories что делать

Resolve conflict, then

When you have a situation like this where you started with a local repository, and want to make a remote on GitHub to share your work with, there is something to watch out for.

When you create the new online repository, there’s an option «Initialize this repository with a README». If you read the fine print, it says «Skip this step if you’re importing an existing repository.»

You may have checked that box. Or similarly, you made an add/commit online before you attempted an initial push. What happens is you create a unique commit history in each place and they can’t be reconciled without the special allowance mentioned in Nevermore’s answer (because git doesn’t want you to operate that way). You can follow some of the advice mentioned here, or more simply just don’t check that option next time you want to link some local files to a brand new remote; keeping the remote clean for that initial push.

Reference: my first experience with git + hub was to run into this same problem and do a lot of learning to understand what had happened and why.

Источник

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

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