git 원격 웨어하우스 기본 동작 및 원격 병합 충돌 문제 해결

로컬 웨어하우스와 원격 웨어하우스 간의 연결을 설정하는 방법을 공유하기 전에 이번에는 원격 참조에서 복제, 가져오기 및 기타 작업을 공유하는 방법을 공유합니다.

원격 웨어하우스가 이미 있는 경우 로컬에 직접 복제 할 수 있습니다.
        명령: git clone < 저장소 경로 > [ 로컬 디렉토리 ]
        로컬 디렉토리는 생략 가능하며 자동으로 디렉토리가 생성됩니다. 디렉토리 이름은 창고 이름입니다.
바탕 화면에서 마우스 오른쪽 버튼을 클릭하여 git bash를 시작해야 합니다.
웨어하우스 경로는 SSH 주소입니다.
이런 식으로 바탕 화면의 원격 창고에서 복제된 폴더를 볼 수 있습니다.
리모트 브랜치도 로컬 브랜치와 동일하게 병합 작업을 수행할 수 있지만, 병합 작업을 수행하기 전에 원격 웨어하우스의 모든 업데이트를 로컬로 다운로드해야 합니다.
        가져오기 명령: git fetch [원격 이름] [브랜치 이름]
        grab 명령은 웨어하우스의 모든 업데이트를 병합하지 않고 로컬로 가져오는 것입니다.
        원격 이름과 분기 이름을 지정하지 않으면 모든 분기를 가져옵니다.
        풀 명령: git pull [원격 이름] [브랜치 이름]
        pull 명령은 원격 웨어하우스의 수정 사항을 로컬로 가져와서 자동으로 병합하는 것입니다. 이는 fetch+merge와 동일합니다.
        원격 이름과 분기 이름이 지정되지 않은 경우 현재 분기를 모두 가져와서 업데이트합니다.

 

로컬에서 텍스트를 생성하고 로컬 리포지토리에 제출합니다.

로컬 창고를 원격 창고에 제출

하지만 다른 창고에는 이 수정 내용이 없기 때문에 원격 창고를 끌어와야 합니다.

 다음은 git fetch 명령을 사용하는 데모입니다.

새 콘텐츠를 가져온 것을 볼 수 있지만 현재 로컬 브랜치와 원격 웨어하우스의 브랜치는 동일한 수정 사항이 아니며 이때 병합이 필요합니다.

이렇게 하려면 두 개의 명령어를 입력해야 하는데, 조금 번거롭기 때문에 git 측에 잡아서 병합할 수 있는 pull이라는 git pull 명령어가 있습니다. 

 

        다른 웨어하우스 프로그램에서 file04.txt 파일을 생성한 후 git pull을 실행하여 원격 웨어하우스의 수정된 내용을 가져오는 것 뿐만 아니라 로컬 브랜치와 원격 웨어하우스의 브랜치가 병합되는지 확인합니다. 

        다음으로 원격 웨어하우스에서 병합 충돌 문제를 소개하겠습니다.

        일정 시간 동안 사용자 A B 는 동일한 파일을 수정하고 동일한 줄 위치에서 코드를 수정하며 이때 병합 충돌이 발생합니다. 사용자 A가 로컬에서 코드를 수정한 후 먼저 원격 웨어하우스로 푸시합니다. 이때 사용자 B는 로컬에서 코드를 수정하고 로컬 웨어하우스에 제출한 후 원격 웨어하우스로 푸시해야 합니다. 이때 , 사용자 B 는 사용자 A 보다 늦기 때문에 리모트가 먼저 풀링되어야 하며, 웨어하우스 제출은 병합된 후에만 리모트 브랜치 . 이때 병합 충돌 문제가 전송됩니다. 여기에서 그것을 시연하십시오.

 로컬 웨어하우스에서 file01.txt 파일 수정

 원격 저장소에 제출

다른 로컬웨어 하우스에서 같은 파일과 같은 줄을 수정하십시오.

이때 로컬 창고에 제출하고 원격 창고에서 가져옵니다.  

이때 병합 충돌 문제가 나타납니다.

파일보기는 분기 병합 충돌 문제와 일치하므로 솔루션도 일관성이 있습니다. 파일의 내용을 수정하고 다시 제출하십시오.

 

원격 창고에 다시 제출

 

다른 창고를 다시 당기십시오. 

추천

출처blog.csdn.net/qq_45526401/article/details/127562773