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

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

enter image description here

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

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

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

 git config --global http.proxy %HTTP_PROXY%

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

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

[http]
#   proxy = %HTTP_PROXY%

Ответ 8

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

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

Ответ 9

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

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

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

Ответ 13

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

Ответ 14

У меня была та же проблема, и "git status" также не обнаружил проблем, а затем я просто Restarted святой клиент GitHub для окон, и он работал как прелесть.

Ответ 15

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

Ответ 16

Журнал отладки может дать некоторое представление. Я использую v3.3.4.0, ваш опыт может отличаться, но должен быть схожим. В меню настроек выберите "About Github Desktop...". Нажмите ссылку, чтобы просмотреть журнал отладки. В моем случае произошла очень явная ошибка:

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

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

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

Ответ 17

Я попробовал с Android Studio зафиксировать изменения и нажать его, чтобы овладеть. Но окно. Отобразилось всплывающее окно, в которое я должен ввести учетные данные Github (https://github.com). Я зарегистрировался в своей учетной записи Gmail. Поэтому я попытался ввести свой идентификатор Gmail вместе с его паролем. Очевидно, что Git не имеет моего пароля Gmail и не может соответствовать ему с тем, что я предоставляю, поэтому я закончил отмену push.
Когда я попытался синхронизировать свои изменения с помощью 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 popup из окон, так как я сделал регистрацию с учетной записью google и вот только 2 поля. Имя пользователя Github, пароль Пожалуйста, дайте мне знать. Я разрешил проблему, но потерял какое-то время, поэтому я тоже хочу знать о логине.