Github Windows «Не удалось синхронизировать эту ветку»

Я использую Github Windows 1.0.38.1, и когда я нажимаю кнопку «Синхронизировать» после фиксации, я получаю сообщение об ошибке

введите здесь описание изображения

Как отладить эту проблему? Если в шелле, что делать?

Синхронизация работает нормально, если я делаю git push или git pull, но в следующий раз, когда я хочу синхронизировать с помощью окон Github, я получаю ту же ошибку.


person Nyxynyx    schedule 13.03.2013    source источник
comment
Для меня это было потому, что я забыл удалить очень большой файл из коммита. Github имеет максимальный размер файла, и я был выше этого.   -  person pmcilreavy    schedule 28.11.2014
comment
Мне нравится, что есть так много ответов, любой из которых мог бы быть правильным в данном случае, но ни один из них не является правильным. Это Git для тебя.   -  person 15ee8f99-57ff-4f92-890c-b56153    schedule 03.01.2015
comment
Эта ошибка может возникнуть из-за того, что вы не подключены к Интернету. Вроде очевидно, но... эй.   -  person levininja    schedule 29.04.2016
comment
У нас были проблемы с интернетом в офисе, и это произошло. Однако оболочка git все еще работала.   -  person Frank Cannon    schedule 19.09.2017


Ответы (17)


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

Я не могу дать вам конкретную ошибку для этого, так как это происходит по многим причинам в Github для Windows, например, скажем, какая-то проблема с обновлением подмодулей и т. д.

person manojlds    schedule 13.03.2013
comment
Спасибо! Как новичок, когда дело доходит до git и GitHub, у которого была та же проблема, что и у первоначального автора вопроса, это было очень полезно :) Отличный ответ! - person Dyndrilliac; 19.01.2014
comment
git stash помогло. Надеюсь, что когда-нибудь я продолжу работу с GIT. - person ivkremer; 08.02.2014
comment
Я перезапустил свой GitHub, и это решило проблему! Это произошло после того, как у меня были некоторые конфликты, чтобы слить. - person Rafael Fernandes; 26.06.2014
comment
У меня такая же проблема, но я использую подключенный диск. С этим ответом я теперь просто делаю коммит с GitHub Desktop и git push через Git. - person zanderwar; 31.07.2015
comment
@manojlds как насчет того, когда статус git просто говорит, что ваша ветка обновлена, ничего не нужно коммитить, рабочий каталог чист? - person levininja; 29.04.2016

Эта ошибка возникает из-за конфликта слияния в файлах. Я столкнулся с этим после того, как обновил pom.xml моего проекта Maven, но не зафиксировал его. С использованием

git status
error: Your local changes to the following files would be overwritten by merge:
<my project>/pom.xml
Please, commit your changes or stash them before you can merge.
Aborting

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

person Navin Mishra    schedule 28.06.2013
comment
Я перезапустил свой GitHub, и это решило проблему! Это произошло после того, как у меня были некоторые конфликты, чтобы слить. - person Rafael Fernandes; 26.06.2014

У меня такая же проблема. Это случилось со мной из-за некоторых противоречивых изменений. Я удалил локальный репозиторий моего проекта со своего рабочего стола, а затем снова клонировал его с веб-сайта github (используя опцию клонирования в моей учетной записи), ошибка исчезла.

person rk2    schedule 16.11.2013

У меня была такая же проблема, когда я пытался изнутри Visual Studio, и «статус git» в оболочке не показал проблем. Но мне удалось отправить локальные изменения с помощью «git push» через оболочку.

person rovsen    schedule 21.06.2015
comment
Как говорит ровсен, добавьте немного цвета тем, кто застрял: если GitHub для Windows дает сбой, но в Git Shell вы видите все зеленым и это сообщение git status Ваша ветка опережает «origin/master» на 1 коммит. (используйте git push для публикации ваших локальных коммитов). Ввод git push исправил это для меня. Я перезапустил GitHub для Windows, и синхронизация наконец-то заработала! - person micstr; 16.10.2017

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

 git config --global http.proxy %HTTP_PROXY%
person Tom    schedule 07.08.2013

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

Перезагрузка компьютера (из всех вещей) исправляет ошибку для меня, так как powershell теперь может забрать только что подключенный диск. Просто убедитесь, что вы подключаетесь к подключенному диску ПЕРЕД открытием клиента github.

person kwakwa    schedule 15.06.2013
comment
То же самое. Перезапустил, и все заработало пожимает плечами - person shieldgenerator7; 13.01.2016
comment
МОЙ БОГ! Я только что переехал в новое офисное помещение, и мои подключенные диски больше не работали. Но они не имели ничего общего с git или моими рабочими папками. Я просто удалил сопоставления, и GitHub Desktop начал работать. Это должно быть ошибкой, поскольку он даже не должен смотреть на эти подключенные диски? - person DeborahK; 05.05.2017

У меня такая же проблема. В моем случае git не смог найти глобальную переменную %HTTP_PROXY% просто потому, что Windows не предоставляла/не использовала ее.

Я решил это, исключив переменную из файла конфигурации git (находится в %USERPROFILE%\.gitconfig):

[http]
#   proxy = %HTTP_PROXY%
person Steven    schedule 01.10.2013

Вы недавно меняли свой пароль Windows или, по крайней мере, тот, который вы используете для подключения к прокси-серверу?

Это была моя проблема, и git status не мог мне помочь. Мне пришлось изменить свои учетные данные для входа в файл «.git/config», чтобы обойти эту ошибку.

person Ralph Lavelle    schedule 07.07.2014
comment
Я получил ошибку от этого. Серьезно, они должны просто правильно настроить прокси-сервер в пользовательском интерфейсе и запросить новое имя пользователя и пароль. Или даже NTLM, если им (слегка) нравится. - person Rob Grant; 14.07.2014

Эта ошибка также возникает, если ветка, которую вы пытаетесь синхронизировать, была удалена.

git status не скажет вам об этом, но вы получите сообщение "такая ссылка не была получена", если вы попробуете git pull.

person Libby    schedule 02.06.2014

Еще одна причина, которая может вызвать это, — это когда вы подключаете сетевой диск или подключаете виртуальный жесткий диск после того, как GitHub Desktop уже запущен. Причина этого в том, что GitHub Desktop использует ssh-agent из портативной установки GIT для установления соединений и никогда не закрывает его... даже если вы удалите приложение. Процесс начинается без знания нового диска и никогда не обновляется, а когда он используется для запуска команд GIT для работы с вашим репозиторием, он терпит неудачу, потому что не понимает пути.

Решение в этом случае состоит в том, чтобы закрыть GitHub Desktop и использовать диспетчер задач для завершения работающего ssh-агента перед его повторным запуском. Это запустит новый экземпляр ssh-agent, когда это необходимо, который подберет новые сопоставления дисков и т. д.

person Corey    schedule 23.08.2015

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

person mikii123    schedule 22.03.2017

проверьте "git status" и "git pull" в оболочке и узнайте, что не так. и моя проблема заключается в узле http.proxy в конфигурации, поэтому Github Windows должен быть намного умнее, например, просто открывать оболочку и давать больше советов после появления ошибок.

person Alex Kon    schedule 19.01.2015

В соответствии с ответами HTTP-прокси это также может произойти из-за VPN-подключения. Отключение моего VPN-подключения решило это для меня.

person Byron Claiborne    schedule 10.03.2015

У меня была та же проблема, и «git status» также не показал проблем, тогда я просто перезапустил святой клиент GitHub для Windows, и он работал как шарм.

person Qasim    schedule 25.05.2016

Я была такая же проблема. Я удалил репозиторий из клиента GitHub для Windows (меню, вызываемое правой кнопкой мыши) и снова добавил его. Когда я повторно добавил, я заметил, что у меня было около 300 незафиксированных изменений, и он сообщал об ошибке памяти. Я отменил все изменения, после чего синхронизация снова заработала нормально. (Новичок Git-пользователь - я уверен, что есть лучшие способы сделать это в командной строке)

person Stephen Kearns    schedule 28.03.2017

Журнал отладки может дать некоторую информацию. Я использую v3.3.4.0, ваш опыт может отличаться, но должен быть похожим. В меню настроек выберите «О Github Desktop…». Щелкните ссылку, чтобы просмотреть журнал отладки. В моем случае была очень четкая ошибка:

*** фатальная ошибка - обнаружено несоответствие базы cygheap - 0x1157408/0x1167408. Эта проблема, вероятно, связана с использованием несовместимых версий DLL cygwin.

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

Я не уверен, почему эта информация не отображается в сообщении об ошибке, но, по крайней мере, она была доступна.

person Opsimath    schedule 07.04.2017

Я попытался с помощью Android Studio зафиксировать изменения и отправить их в мастер, но окно показало всплывающее окно, в котором мне нужно ввести учетные данные Github (https://github.com). Я зарегистрировался со своей учетной записью Gmail. Поэтому я попытался ввести свой идентификатор Gmail вместе с его паролем. Очевидно, что у Git нет моего пароля Gmail, и он не может сопоставить его с тем, что я предоставляю, поэтому в итоге я отменил отправку. < br> Когда я попытался синхронизировать свои изменения через GitHub GUI Window, я столкнулся с этой ошибкой. В команде git status Git Shell предложил отправить изменения как

Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

Я сделал то же, что предложил Git Shell (git push), и теперь все в порядке.

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

fatal: Not a git repository (or any of the parent directories):

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

cd D:\someFolder     // if your project is not deep in `D`

И если это во вложенной папке в D

cd D:\somefolder\someNestedFolder\nestedInNested     // if your project is not deep in `D`

Если кто-то знает, как войти во всплывающее окно Github из окон, как я зарегистрировался с учетной записью Google, и здесь только 2 поля: имя пользователя Github, пароль. Пожалуйста, дайте мне знать. Я решил проблему, но с пустой тратой времени, поэтому я также хочу знать о входе в систему.

person Inzimam Tariq IT    schedule 27.10.2017