git 입문 튜 토리 얼 의 로 컬 창고 와 원 격 창고 의 본질 소개

로 컬 창고 와 원 격 창 고 는 본질 적 으로 큰 차이 가 없다.하 나 는 로 컬 컴퓨터 이 고 하 나 는 원 격 컴퓨터 이다.
원 격 창 고 는 반드시github전문 적 인'중앙 서버'가 아니 라 랜 의 다른 컴퓨터 도'중앙 서버'의 역할 을 할 수 있 습 니 다.왜냐하면 존재 하 는 최초의 목적 은 여러분 이 서로의 제출 기록 을 교환 하 는 데 편리 할 뿐 이기 때 문 입 니 다!
따라서 현지 창고 와 원 격 창고 의 기본 적 인 행 위 는 일치 해 야 한다.약 속 된 규정 은 원 격 창고 가 일반적으로 일상적인 개발 업무 에 직접 참여 하지 않 고 주로 프로젝트 위탁 관리 센터 로 한다.
일부 자동 화 는 지속 적 으로 집적 환경 에서 도 원 격 창 고 를 직접 조작 할 수 있 습 니 다.이때 원 격 창 고 는 정말 로 컬 창고 와 다 를 바 가 없습니다!
개인 개발 상용 명령
개인 개발 은 효율 을 중시 하 는 동시에 다음 버 전 통 제 를 병행 하면 금상첨화 라 고 할 수 있 습 니 다.git의 로 컬 창 고 는 로 컬 백업 이 고 원 격 창 고 는 네트워크 백업 입 니 다.git init:로 컬 프로젝트 초기 화
로 컬 프로젝트 초기 화git프로젝트 는 이 프로젝트 의 동급 디 렉 터 리 에 디 렉 터 리.git를 숨 기 고git버 전 라 이브 러 리 에 대한 정 보 를 저장 하 는 것 을 직관 적 으로 나타 낸다.
그 후에 현재 프로젝트 는 현지 관리 능력 을 갖 추고git와 상호작용 을 할 수 있다.git clone:원 격 복제 프로젝트git init와 같은 역할 도 로 컬 창 고 를 만 드 는 것 입 니 다.다만git init로 컬 프로젝트 를 로 컬 창고 로 직접 만 들 고git clone원 격 프로젝트 를 로 컬 창고 로 복제 합 니 다.
이 를 통 해 알 수 있 듯 이git clonegit init보다 원 격 창고 의 개념 이 한 층 더 많다.git add:파일 추가
작업 구역 의 제출 기록 을 임시 저장 구역 에 추가 합 니 다.임시 저장 구역 은 작업 구역 과 버 전 라 이브 러 리 가 상호작용 하 는 교량 입 니 다.임시 저장 구역 이 일 정량의 제출 기록 을 쌓 을 때 버 전 라 이브 러 리 에 대량으로 제출 할 수 있 습 니 다.이 임시 저장 구역 은 캐 시 와 같 습 니 다.git commit:서류 제출
임시 저장 구역 의 버 전 을 버 전 라 이브 러 리 에 제출 하여 작업 구역->임시 저장 구역->버 전 라 이브 러 리 의 기본 링크 를 형성 합 니 다.로 컬 작업 구역 의 버 전 관리 절 차 는 대체적으로 이 렇 습 니 다.git push:파일 푸 시git clone명령 을 사용 하여 복 제 된 로 컬 프로젝트 라면 어느 정도 작업 할 때 이 작업 성 과 를 원 격 창고 로 보 내야 할 수도 있 습 니 다.이 때git push명령 을 사용 하여 로 컬 버 전의 푸 시 절 차 를 완성 합 니 다.git init명령 을 사용 하여 초기 화 된 로 컬 프로젝트 라면 원 격 창고 가 없 을 수도 있 습 니 다.자 연 스 럽 게 푸 시 할 필요 가 없습니다.나중에 원 격 창 고 를 만 들 었 다 면 로 컬 창 고 를 원 격 창고 로 푸 시 하려 는 것 이 당연 합 니 다.따라서 어떤 원 격 창고 로 푸 시 할 지 정확하게 알려 야 합 니 다.git명령 을 사용 하여 원 격 창고 정 보 를 추가 하면 로 컬 창고 와 원 격 창고 의 관 계 를 구축 하고 나중에 원 격 창고 로 정상적으로 보 낼 수 있 습 니 다.
팀 개발 상용 명령
팀 개발 은 개인 효율 뿐만 아니 라 팀 의 전체적인 진도 도 중시한다.기업 급 개발 이 날로 복잡 해 지면 서 한 사람 이 독립 적 으로 완성 할 수 있 는 것 이 아니다.게다가 시간 도 천천히 완성 할 수 없다.대부분 회 사 는 인력 이 시간 을 바 꾸 는 방식 으로 팀 이 병행 개발 하여 전체 프로젝트 주 기 를 단축 시킨다.이런 복잡 한 수요 에서 바로git remote add origin [email protected]:username/repos.git주먹 과 발 을 크게 펼 칠 수 있 는 좋 은 기회 이다.
프로젝트 는 전체적으로 병행 개발 모델 을 사용 하여 서로 다른 기능 모듈 로 분해 하고 모든 사람 이 각자 의 모듈 을 책임 집 니 다.모듈 간 에 상대 적 으로 독립 되 지만 교 집합 가능성 도 배제 하지 않 습 니 다.모든 개인 개발 자 에 게 버 전 통제 도 필요 하고 단체 교류 도 필요 합 니 다.이때 후 분기 의 역할 이 돋 보 입 니 다.
프로젝트 의 업무 특징 에 따라 이 를 서로 다른 기능 모듈 로 분해 하 는데 이런 기능 모듈 은 각각 다른 가 지 를 대표 하고 이런 기능 모듈 은 완전한 프로젝트 를 구성 하 는데 이것 이 바로 주간 과 분기 의 관계 이다.
초기 에 프로젝트 는 하나의 전체 이 고 중간 에 서로 다른 기능 모듈 로 분해 되 었 으 며 마지막 에 하나의 전체 로 통합 되 었 습 니 다.git:분기 만 들 기
모든 독립 된 기능 모듈 은 하나의 단독 분기 로 정의 되 고 분 지 를 만 드 는 과정 은 사실은 프로젝트 를 분해 하 는 과정 입 니 다.로 컬 분 지 를 만 든 후에 분기 에서 특유 의 기능 을 개발 하여 다른 기능 분기 에 관심 을 가지 지 않 습 니 다.git branch <branch>:분기 전환
모듈 분해 가 완료 되 고 해당 하 는 가 지 를 만 든 후 정 해진 분기 로 전환 해 야 자신의 작업 을 수행 할 수 있 습 니 다.git checkout <branch>:합병 지점
절대적 인 독립 이 없 으 면 프로젝트 를 아무리 나 누 어도 전체적인 일부분 이 고 다른 기능 모듈 과 관 계 를 가 져 야 한다.어떤 경우 에는 다른 분기 의 작업 성과 가 자신의 현지 창고 에 합병 되 어야 소 규모 조립 을 완성 할 수 있다.
예상 할 수 있 는 것 은 이런 조립 이 충분 할 때 최종 적 으로 프로젝트 의 최종 형태 로 발전 하여 하나의 전 체 를 형성 할 것 이다.git merge <branch>:원 격 분기 캡 처
목표 지점 을 합병 하려 면 먼저 목표 지점 의 제출 기록 을 얻 을 수 있어 야 합 니 다.모든 기능 모듈 이 서로 다른 프로젝트 구성원 이 개발 을 맡 은 이상 우리 컴퓨터 에 있 지 않 습 니 다.그래서 우 리 는 먼저 목표 지점 을 우리 로 컬 컴퓨터 에 다운로드 한 다음 에 이 지점 을 로 컬 지점 으로 통합 할 수 있 습 니 다.git fetch:원 격 분기 당기 기
"먼저 목표 지점 을 다운로드 한 다음 에 로 컬 지점 에 통합 시 켜 소 규모 로 더욱 복잡 하고 강력 한 기능 을 구성 합 니 다."매번 의 조립 과정 은 두 단계 의 조작 자가 게 으 른 사람의 사고 에 부합 되 지 않 습 니 다.git pull바로 이 두 단계 작업 의 간소화 명령 입 니 다.먼저 다운로드 한 다음 에 합 치 는 것 이 이렇게 간단 합 니 다!
로 컬 과 원 격 창고 의 충돌
개인 개발 이 든 팀 개발 이 든 우 리 는 주동 적 인 측면 에서 문 제 를 생각 하 는 데 익숙 하 다.원 격 창고 가 우리 의git pull또는git push요 구 를 받 았 을 때 원 격 창고 가 어떤 변 화 를 일 으 켰 는 지 생각해 본 적 이 있 습 니까?이런 변 화 는 현지 창고 에 어떤 영향 을 미 쳤 습 니까?
원 격 창고(원 격 컴퓨터 에 있 는 로 컬 창고)는 여러 분포 식 컴퓨터 에 있 는 로 컬 창고 의 한 사람 일 뿐 특수 하고 특수 하 며'중앙 서버'역할 을 하고 나머지 사람들 은 여기 서 다운로드 하거나 푸 시 합 니 다.그것 은 보통 이 고 매우 평범 하 다 고 말 합 니 다.로 컬 컴퓨터 의 로 컬 창고 와 다 를 것 이 없습니다.왜냐하면 그것 은 언제든지 임의의 컴퓨터 의 로 컬 창고 로 대 체 될 수 있 기 때 문 입 니 다!
원 격 창고 의 신비 로 운 베일 을 벗 긴 후,지금 우 리 는 그것 을 일반적인 로 컬 창고 처럼 취급 하면 된다.그러나 우리 로 컬 컴퓨터 에는 이미 로 컬 창고 가 있 기 때문에 원 격 창 고 를 간단 한 표지 구분git pull을 원 거리 지점 이 라 고 불 러 야 한다.
먼저origin명령 이 무엇 을 했 는 지 말 해 보 세 요.
  • 로 컬 에 있어 서git push로 컬 창고 의 지정 한 가 지 를 원 격 창고 의 해당 지점 으로 보 내 는 동시에 로 컬 창고 의 원 격 지점 을 업데이트 했다.
  • 원 격 으로git로 컬 창고 의 푸 시 요청 을 받 았 을 때 해당 지점 에서 로 컬 지점 을 합병 하고 원 격 창고 의 해당 지점 을 업데이트 해 야 합 니 다.
  • 로 컬 지정 분기 가 원 격 으로 해당 분기 로 성공 적 으로 전송 되 었 을 때 로 컬 에 서 는 지정 분기 든 원 격 분기git든 모두 최신 상태 여야 합 니 다.서버 와 동기 화 되 었 기 때 문 입 니 다.
    한편,원 격 으로 이번 푸 시 요청 을 받 았 을 때 이번 푸 시 요청 을 합병 하고 자신의 해당 지점 을 업데이트 해 야 합 니 다.원 격 합병 이 완 료 된 후에 현지 에 이번 푸 시 결 과 를 알려 야 합 니 다.이렇게 되면 3 단 이 동기 화 되 어 모두 기 쁩 니 다!

    다시 말 해 봐origin/master명령 에 무슨 일이 일 어 났 습 니까?
  • 원 격 으로 로 컬 추출 요청 을 받 았 을 때 새 버 전이 처리 되 지 않 았 기 때문에 아무런 조작 도 필요 하지 않 습 니 다.
  • 로 컬 에 있어 원 격 창고 의 해당 지점 이 로 컬 에 다운로드 되 었 을 때 원 격 지점 상 태 를 업데이트 하고 로 컬 지점 에 통합 하려 고 시도 해 야 합 니 다.
  • git pull명령 이나git pull명령 은 로 컬 과 원 격 통신 방식 이기 때문에git fetch자동 으로 업 데 이 트 됩 니 다!

    작은 매듭
    로 컬 창고 와 원 격 창 고 는 본질 적 으로 큰 차이 가 없다.origin/master는 로 컬 창고 와 원 격 창고 간 의 통신 경로 이 고 로 컬 창고 의 원 격 분기git fetch는 그들의 마지막 통신 상 태 를 보존 하고 있다.
    git 입문 튜 토리 얼 의 로 컬 창고 와 원 격 창고 의 본질 에 대한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 git 로 컬 과 원 격 창고 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기