Github Windows "Не вдалося синхронізувати цю гілку"


124

Я використовую Github Windows 1.0.38.1, і після натискання кнопки "Синхронізувати" після вчинення я отримую помилку

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

Як налагодити цю проблему? Якщо в оболонці, що мені робити?

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


1
Для мене це було тому, що я забув видалити дуже великий файл із комітету. Github має максимальний розмір файлу, і я був над ним.
pmcilreavy

5
Мені подобається, що існує так багато відповідей, будь-яка з яких могла бути правильною в даному випадку, але жодна з них не є. Це Git для тебе.
15ee8f99-57ff-4f92-890c-b56153

1
Ця помилка може статися, оскільки ви не підключені до Інтернету. Вигляд очевидний, але ... ей.
levininja

1
У нас були проблеми з Інтернетом в офісі, і це сталося. Оболонка git все ще працювала.
Френк Кеннон

Відповіді:


113

Коли це говорить, просто відкрийте оболонку і зробіть git status. Це дасть вам гідне уявлення про те, що може бути не так і про стан вашої репо.

Я не можу надати вам конкретної помилки з цього приводу, оскільки це трапляється з багатьох причин у Github для Windows, як, наприклад, сказати про певну проблему в оновленні підмодулів тощо.


3
Дякую! Як новачок, коли мова йде про git та GitHub, які мали те саме питання, що і оригінальний запитувач, це було дуже корисно :) Відмінна відповідь!
Діндріліак

5
git stashдопомогли. Сподіваюся, я коли-небудь продовжуватиму з GIT.
ivkremer

Я перезапустив свій GitHub, і це вирішило проблему! Це сталося після того, як у мене виникли деякі конфлікти, щоб злитися.
Рафаель Фернандес

1
У мене така ж проблема, проте я використовую привід на карті. З цією відповіддю я зараз просто погоджуюсь з GitHub Desktop та git pushчерез Git.
zanderwar

@manojlds, що робити, коли статус git просто каже, що ваша філія оновлена, нічого робити, чистий каталог чистий?
levininja

16

Ця помилка виникає через конфлікт злиття у файлах. Я зіткнувся з цим після оновлення 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

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


Я перезапустив свій GitHub, і це вирішило проблему! Це сталося після того, як у мене виникли деякі конфлікти, щоб злитися.
Рафаель Фернандес

11

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


5

У мене була така ж проблема, коли я спробував усередині Visual Studio, і "git status" в оболонці не показав жодних проблем. Але мені вдалося натиснути локальні зміни "git push" через оболонку.


Як каже Ровсен, щоб додати трохи кольорів тим, хто застряг: Якщо GitHub для Windows виходить з ладу, але в Git Shell ви бачите все зелене, і це git statusповідомлення "Ваша гілка випереджає" походження / майстер "на 1 комітку. (Використовуйте" git push "для опублікуйте свої місцеві комісії) ". Введення git pushзафіксувало це для мене. Я перезапустив GitHub для Windows і синхронізація нарешті спрацювала!
micstr

4

У мене була ця проблема, і я виявив, що це стосується проксі. Я вирішив проблему за допомогою цієї команди:

 git config --global http.proxy %HTTP_PROXY%

2

Це, мабуть, кращий випадок, але кожен раз, коли я отримую цю конкретну помилку, це тому, що я нещодавно склав карту диска в Windows, і powershellне можу його знайти.

Перезавантаження комп’ютера (з усіх речей) виправляє помилку для мене, як powershellтепер можна забрати нещодавно нанесений диск. Просто переконайтеся, що ви підключились до картографічного накопичувача перед тим, як відкрити клієнт github.


Те ж саме. Перезапусків , а потім він працював просто відмінно знизує плечима
shieldgenerator7

О БОЖЕ МІЙ! Я щойно переїхав до нового офісного приміщення, і мої карти з накопиченими картками вже не працювали. Але вони не мали нічого спільного з git чи моїми робочими папками. Я просто видалив відображення, і тоді GitHub Desktop почав працювати. Це має бути помилка, оскільки він навіть не повинен дивитись на ці відображені накопичувачі?
ДебораК

2

У мене була така ж проблема. У моєму випадку git не зміг знайти глобальну змінну %HTTP_PROXY%просто тому, що Windows не надала / не використовувала її.

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

[http]
#   proxy = %HTTP_PROXY%

2

Ви нещодавно змінили свій пароль Windows або хоча б той, який ви використовуєте для підключення до проксі?

Це була моя проблема, і git statusмені не вдалося допомогти. Мені довелося змінити свої дані для входу у файл ".git / config", щоб подолати цю помилку.


Я отримав помилку з цього. Якщо серйозно, вони повинні просто зробити цю річ належним чином проксі-сервера в інтерфейсі та запропонувати нове ім'я користувача та пароль. Або навіть NTLM, якщо вони відчувають (злегка) фантазію.
Роб Грант

1

Ця помилка також виникає, якщо гілка, яку ви намагаєтеся синхронізувати, була видалена.

git statusне скажу вам це, але ви отримаєте повідомлення "немає такої посилання", якщо ви спробуєте git pull.


1

Ще одне, що може спричинити це, - це коли ви накреслите мережевий накопичувач або підключите VHD після того, як GitHub Desktop вже запущений. Причиною цього є те, що GitHub Desktop використовує ssh-агент з портативної установки GIT, щоб встановити з'єднання, і ніколи не закриває його ... навіть якщо ви видалите програму. Процес починається без знання нового приводу і ніколи не оновлюється, і коли він використовується для запуску команд GIT для роботи над вашим репо, він не вдається, тому що він не розуміє шляхів.

Рішенням у цьому випадку є закриття GitHub Desktop та використання диспетчера завдань для припинення запущеного ssh-агента перед його запуском заново. Це запустить новий екземпляр ssh-агента за потреби, який підбере нові відображення диска тощо.


1

Переконайтеся, що гілка, на яку ви намагаєтеся натиснути, не захищена. Я намагався просунутися до захищеної гілки і не вдався до вас.


0

перевірте " git status " і " git pull " в оболонці і з’ясуйте, що не так. і моя проблема - http.proxy вузол у config, тому Github Windows повинен бути набагато розумнішим, як просто вискакувати оболонку та дати більше підказок після помилок.


0

Відповідно до відповідей HTTP-проксі, це також може статися через VPN-з'єднання. Відключення мого VPN-з'єднання вирішило це для мене.


0

У мене була така ж проблема, і "git status" також не виявив жодних проблем, тоді я просто перепровадив святого клієнта GitHub для Windows, і він працював як шарм.


0

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


0

Журнал налагодження може дати деяку інформацію. Я використовую v3.3.4.0, ваш досвід може відрізнятися, але повинен бути схожим. У меню налаштувань виберіть "About Github Desktop ...". Клацніть посилання, щоб переглянути журнал налагодження. У моєму випадку виникла явна помилка:

*** смертельна помилка - виявлено невідповідність бази cygheap - 0x1157408 / 0x1167408. Ця проблема, ймовірно, пов’язана з використанням несумісних версій DLL cygwin.

Він навіть дав кілька корисних порад для вирішення проблеми.

Я не впевнений, чому ця інформація не відображається в запиті про помилку, але принаймні вона була доступною.


0

Я спробував за допомогою Android Studio вчинити зміни і підштовхнути її до майстра. Але Window показав спливаюче вікно, що мені потрібно ввести облікові дані Github ( https://github.com ). Я зробив реєстрацію з моїм обліковим записом Gmail. Тому я спробував ввести свій ідентифікатор Gmail разом із його паролем. Очевидно, що у Git немає мого пароля Gmail і не можу відповідати тому, що я надаю, тому я в кінцевому підсумку скасував натискання.
Коли я намагався синхронізувати зміни через вікно графічного інтерфейсу GitHub, я зіткнувся з цією помилкою. За git statusкомандою Git Shell запропонував змінити як

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

Я зробив те саме, що запропонував Гіт Шелл ( 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 з Windows, як я зробив реєстрацію за допомогою облікового запису google, і тут є лише 2 поля Github ім'я користувача, пароль. Будь ласка, дайте мені знати. Я вирішив проблему, але витрачаючи час, тому хочу також знати про логін.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.