Github Windows '이 분기를 동기화하지 못했습니다'


124

Github Windows 1.0.38.1을 사용하고 있는데 커밋 후 '동기화'버튼을 클릭하면 오류가 발생합니다.

여기에 이미지 설명 입력

이 문제를 어떻게 디버깅합니까? 쉘에 있다면 어떻게해야합니까?

내가 할 경우 동기화가 잘 작동 git push하거나 git pull,하지만 다음에 내가 Github에서 창을 사용하여 동기화 할, 저도 같은 오류가 발생합니다.


1
저에게는 커밋에서 매우 큰 파일을 제거하는 것을 잊었 기 때문입니다. Github는 최대 파일 크기를 가지고 있으며 끝났습니다.
pmcilreavy 2014

5
나는 너무 많은 답변이있는 방식을 좋아하는데,이 경우에는 어떤 것이 든 옳았을 수도 있지만, 그중 어느 것도 그렇지 않습니다. 당신을위한 Git입니다.
15ee8f99-57ff-4f92-890c-b56153

1
이 오류는 인터넷에 연결되어 있지 않기 때문에 발생할 수 있습니다. 분명하지만 ... 헤이.
levininja

1
사무실에서 인터넷 문제가 발생했습니다. 그래도 git 쉘은 여전히 ​​작동했습니다.
Frank Cannon

답변:


113

그것이 말할 때, 그냥 쉘을 열고 git status. 그러면 무엇이 잘못 될 수 있는지와 저장소 상태에 대한 적절한 아이디어를 얻을 수 있습니다.

Windows 용 Github에서 하위 모듈을 업데이트 할 때 문제가 발생하는 등 여러 가지 이유로 발생하므로 이에 대한 특정 오류를 제공 할 수 없습니다.


3
감사! 원래 질문 asker와 동일한 문제를 가진 git 및 GitHub에 관해서는 초보자로서 이것은 매우 도움이되었습니다 :) 훌륭한 답변!
Dyndrilliac

5
git stash도움이되었습니다. 언젠가 GIT와 함께 할 수 있기를 바랍니다.
ivkremer

내 GitHub를 다시 시작했고 문제가 해결되었습니다! 병합해야 할 충돌이 발생한 후에 발생했습니다.
Rafael Fernandes

1
동일한 문제가 있지만 매핑 된 드라이브를 사용하고 있습니다. 이 답변으로 이제 GitHub Desktop과 git pushGit을 통해 커밋 합니다.
zanderwar

@manojlds git status가 브랜치가 최신 상태이고 커밋 할 것이 없으며 작업 디렉토리가 깨끗하다고 ​​말하면 어떨까요?
levininja

16

이 오류는 파일의 병합 충돌로 인해 발생합니다. 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

위의 게시물이 제안한대로 충돌하는 변경 사항을 찾는 데 도움이되었으며 폐기 또는 커밋을 결정할 수 있습니다.


내 GitHub를 다시 시작했고 문제가 해결되었습니다! 병합해야 할 충돌이 발생한 후에 발생했습니다.
Rafael Fernandes

11

나는 같은 문제가 있었다. 충돌하는 변화 때문에 나에게 일어났습니다. 내 데스크톱에서 내 프로젝트의 로컬 저장소를 제거한 다음 github 웹 사이트에서 다시 복제했습니다 (내 계정의 복제 옵션 사용). 오류가 사라졌습니다.


5

Visual Studio 내부에서 시도했을 때 동일한 문제가 있었고 셸의 "git status"는 문제가 없었습니다. 하지만 쉘을 통해 "git push"로 로컬 변경 사항을 푸시 할 수있었습니다.


rovsen이 멈춘 부분에 몇 가지 색상을 추가하라고 말했듯이 Windows 용 GitHub가 충돌하지만 Git Shell에서 모든 녹색과이 git status메시지가 표시됩니다. "당신의 브랜치가 1 커밋만큼 'origin / master'보다 앞서 있습니다. ("git push "사용) 로컬 커밋 게시) ". 입력 git push나를 위해이 문제를 해결했습니다. Windows 용 GitHub를 다시 시작하고 마침내 동기화가 작동했습니다!
micstr

4

나는이 문제가 있었고 그것이 프록시와 관련이 있음을 알았습니다. 이 명령을 사용하여 문제를 해결했습니다.

 git config --global http.proxy %HTTP_PROXY%

2

이것은 아마도 가장 중요한 경우이지만이 특정 오류가 발생할 때마다 최근에 Windows에서 드라이브를 매핑했는데 powershell찾을 수 없기 때문입니다.

컴퓨터를 다시 시작 powershell하면 새로 매핑 된 드라이브를 선택할 수 있으므로 오류가 수정 됩니다. github 클라이언트를 열기 전에 매핑 된 드라이브에 연결했는지 확인하십시오.


여기도 마찬가지입니다. 다시 시작된 다음 괜찮은 어깨를 으쓱했다
shieldgenerator7

OMG! 방금 새 사무실 공간으로 이사했는데 매핑 된 드라이브가 더 이상 작동하지 않습니다. 그러나 그들은 git 또는 내 작업 폴더와 관련없습니다 . 단순히 매핑을 제거하고 GitHub Desktop이 작동하기 시작했습니다. 이 가지고 심지어 그 매핑 된 드라이브보고되지 않아야하기 때문에 버그?
DeborahK

2

나는 같은 문제가 있었다. 제 경우에는 %HTTP_PROXY%Windows가 제공 / 사용하지 않았기 때문에 git이 전역 변수를 찾을 수 없습니다 .

git config 파일 (에 있음 %USERPROFILE%\.gitconfig) 에서 변수를 제외하여 해결했습니다 .

[http]
#   proxy = %HTTP_PROXY%

2

최근에 Windows 암호를 변경 했습니까? 아니면 적어도 프록시에 연결하는 데 사용하는 암호를 변경 했습니까?

이것은 내 문제 였고 git status나를 도울 수 없었다. 이 오류를 해결하려면 ".git / config"파일에서 로그인 자격 증명을 변경해야했습니다.


나는 이것으로부터 오류를 얻었다. 진지하게, 그들은 UI에서이 일을 제대로 프록시 인식하고 새로운 사용자 이름과 암호를 요구해야합니다. 또는 그들이 (약간) 화려하다고 느끼는 경우에도 NTLM.
롭 그랜트

1

이 오류는 동기화하려는 브랜치가 삭제 된 경우에도 발생합니다.

git status하지만을 (를) 시도하면 "해당 참조를 가져 오지 않았습니다"라는 메시지가 표시됩니다 git pull.


1

이 문제를 일으킬 수있는 또 하나의 이유는 GitHub 데스크톱이 이미 시작된 후 네트워크 드라이브를 매핑하거나 VHD를 연결할 때입니다. 그 이유는 GitHub Desktop이 휴대용 GIT 설치의 ssh-agent를 사용하여 연결을 설정하고 응용 프로그램을 제거하더라도 닫지 않기 때문입니다. 프로세스는 새 드라이브에 대한 지식없이 시작되며 자체적으로 새로 고쳐지지 않으며 저장소에서 작업하기 위해 GIT 명령을 실행하는 데 사용되면 경로를 이해하지 못하기 때문에 실패합니다.

이 인스턴스의 솔루션은 GitHub Desktop을 닫고 작업 관리자를 사용하여 다시 시작하기 전에 실행중인 ssh-agent를 종료하는 것입니다. 필요한 경우 새 드라이브 매핑 등을 선택하는 ssh-agent의 새 인스턴스를 시작합니다.


1

푸시하려는 분기가 보호되지 않았는지 확인하십시오. 보호 된 지점으로 밀어 붙이려 고했지만 당신과 똑같이 실패했습니다.


0

쉘에서 " git status "및 " git pull "을 확인하고 무엇이 잘못되었는지 알아보십시오. 내 문제는 구성의 http.proxy 노드이므로 Github Windows는 쉘을 터 뜨리고 오류가 발생한 후 더 많은 팁을 제공하는 것처럼 훨씬 더 똑똑해야합니다.


0

HTTP 프록시 응답 라인과 함께 VPN 연결로 인해 발생할 수도 있습니다. VPN 연결을 끊으면 문제가 해결되었습니다.


0

나는 같은 문제가 있었고 "git status"도 문제가 없다는 것을 보여 주었고, 방금 창을 위해 거룩한 GitHub 클라이언트를 다시 시작 했고 그것은 매력처럼 작동했습니다.


0

나는 같은 문제가 있었다. GitHub Windows 클라이언트 (오른쪽 클릭 메뉴)에서 리포지토리를 제거하고 다시 추가했습니다. 다시 추가했을 때 약 300 개의 커밋되지 않은 변경 사항이 있고 메모리 오류를보고하고 있음을 알았습니다. 모든 변경 사항을 취소하고 동기화가 다시 정상적으로 작동하기 시작했습니다. (신인 Git 사용자-명령 줄에서이 작업을 수행하는 더 좋은 방법이있을 것입니다)


0

디버그 로그는 약간의 통찰력을 제공 할 수 있습니다. v3.3.4.0을 사용하고 있습니다. 경험은 다를 수 있지만 비슷해야합니다. 설정 메뉴에서 'About Github Desktop ...'을 선택합니다. 링크를 클릭하여 디버그 로그를보십시오. 제 경우에는 매우 명확한 오류가있었습니다.

*** 치명적인 오류-cygheap 기본 불일치 감지 됨-0x1157408 / 0x1167408. 이 문제는 아마도 호환되지 않는 버전의 cygwin DLL을 사용했기 때문일 것입니다.

문제를 해결하는 데 도움이되는 몇 가지 팁도 제공했습니다.

이 정보가 오류 프롬프트에 표시되지 않는 이유는 모르겠지만 적어도 사용할 수있었습니다.


0

Android Studio에서 변경 사항을 커밋하고 마스터에 푸시하려고 시도했지만 창에 Github 자격 증명 ( https://github.com ) 을 입력해야한다는 팝업이 표시되었습니다 . 내 Gmail 계정으로 가입을해서 비밀번호와 함께 Gmail ID를 입력하려고했는데, 분명히 Git에는 내 Gmail 비밀번호가없고 내가 제공하는 것과 일치하지 않아서 푸시를 취소했습니다.
GitHub GUI 창을 통해 변경 사항을 동기화하려고 할 때이 오류가 발생합니다. 에 git status명령 힘내 쉘은 변화를 추진 제안

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 팝업에 로그인하는 방법을 아는 사람이 있다면 여기에 Github 사용자 이름, 비밀번호 2 개 필드 만 있습니다. 알려주세요. 문제를 해결했지만 시간이 낭비되어 로그인에 대해서도 알고 싶습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.