2017-09-11 1 views
0

저는 신참한데 제발 나와 함께하시기 바랍니다. 로컬 시스템에서 레일스 애플리케이션을 사용하여 주기적으로 마스터 브랜치를 테스트하고 있습니다. 그것은 현재 작동하지만, 나는 뒤쳐졌으며, 이제 나는 주인 뒤에 많은 커밋을합니다. 그러나git pull을 올바르게 사용하십시오.

$ git branch 
* master 


$ git status 
On branch master 
Your branch is behind 'origin/master' by 27 commits, and can be fast-forwarded. 
    (use "git pull" to update your local branch) 
nothing to commit, working tree clean 

, 내가 git pull을 사용하고 레일을 시작하는 프리 컴파일러 오류 내 응용 프로그램을 중단합니다. 그래서 나는 git pull을 사용하기 전에 로컬 커밋으로 돌아 가기 위해 git --reset을 사용해야합니다.

이 문제를 해결하고 master 분기의 최신 변경 사항을 병합하는 올바른 방법은 무엇입니까? 이 경우 git --rebase을 사용하겠습니까?

+0

27 개의 커밋 중 하나가 앱을 고장 냈다고 생각합니다. 그 사람들은 어디에서 왔습니까? –

+0

'git pull -r'은 여러분 지역의 변경 사항을 가져옵니다. 프리 D 파일의 관점에서 오류를 게시 할 수 있습니까? 일반적으로 애셋의 구문 오류와 관련이 있습니다. https://stackoverflow.com/a/8259998/2048680 –

답변

0

git stash 
git pull origin master 

시도가 업데이트되면 아무도이 문제를 언급하지 않았기 때문에, 자식 숨겨 놓은 분명히 아직 로컬 변경

+0

이 작업을 수행하면 5 개의 병합 충돌이 발생합니다. –

+0

을 선택하면 충돌을 해결할 수 있습니다. 어떤 버전의 코드/파일을 유지하고 싶습니다. – veggirice

+0

도 있습니다. https://stackoverflow.com/questions/161813/how-to-resolve-merge-conflicts-in-git – veggirice

0

을 다시 적용 적용 : 당신은

에게 올바른 방법은 무엇 이 문제를 해결하고 마스터 브랜치의 최신 변경 사항과 병합 하시겠습니까?

당신이 git pull 현재 지점에 원격 변경 내용을 병합 않습니다 할

. 다른 질문에 따라 병합 대신 rebase를 수행할지 여부는 별도의 문제이지만 기본 동작은 두 가지 변경 집합 (로컬 및 원격)을 결합하는 것입니다.

기본적으로 git pull은 병합 후 페치를 수행합니다. 정확한 병합 작업은 구성과 명령 행 옵션에 따라 다르지만 일반적인 구성의 경우 origin/master

git pull 

masterorigin/master을 병합합니다 말, master의 상류이다.

왜 오류가 있습니까?

한 가지 가능성은 병합 충돌입니다. 그렇게되면 git이 당신에게 말할 것입니다. 이 상태에서 git status이라고 말하면 진행중인 병합이 있으며 충돌 해결이 필요한 경로 (파일)를 나타냅니다.

또 다른 가능성은 변경 사항이 충돌하지 않는다는 것입니다 (동일한 파일의 동일한 영역에는 영향을 미치지 않음)하지만 여전히 제대로 작동하지 않습니다. 디버그 만하면됩니다.

관련 문제