Git 원격 추적 브랜치 추적 브랜치 업스트림 브랜치

4501 단어 Git
이 게시물은 원격 추적 지점 추적 지점 업스트림 지점 을 요약한 것입니다.
Git 버전은 2.21.0입니다.

뭐가 달라요?


로컬 브랜치


로컬 브랜치는 로컬 저장소에 있는 브랜치입니다.
로컬 브랜치 확인
$ git branch
* develop
  feature/xx1
  master

# ファイルで確認
$ tree .git/refs/heads/
.git/refs/heads/
├── develop
├── feature
│   └── xx1
└── master

원격 지점, 원격 추적 지점


  • 원격 브랜치는 원격 저장소의 브랜치
  • 를 말합니다.

  • 원격 추적 브랜치는 마지막 fetch (또는 pull 때의 원격 브랜치를 참조하는 브랜치입니다.현지에서.
  • 더욱 상세하다

  • 원격 추적 지점 이름은 origin/develop 에서 보듯이 {remote}/{branch}
  • fetch(또는 pull 자동 업데이트
  • 원격 추적 지점을 파생 소스로 사용하여 로컬 지점을 만들 수 있음
  • 원격 추적 지점 비checkoutdetached HEAD
  • 원격 분기 확인
    $ git branch -r
      origin/HEAD -> origin/master
      origin/develop
      origin/feature/xx1
      origin/master
    
    # ファイルで確認(リモートリポジトリ=origin)
    $ tree .git/refs/remotes/
    .git/refs/remotes/
    └── origin
        ├── HEAD
        ├── develop
        ├── feature
        │   └── xx1
        └── master
    

    업스트림 브랜치, 추적 브랜치

  • 업스트림 지점을 설정한 로컬 지점을 추적 지점이라고 부른다
  • 추적 지점의 추적 목표는 상위 지점
  • 원격 추적 지점에서 로컬 지점을 만들면 자동으로 상위 지점을 설정합니다.
  • リモート追跡ブランチ = 上流ブランチローカルブランチ = 追跡ブランチ
  • 이 동작은.git/config 변경가능
  • 업스트림 지점은 원격 추적 지점이나 로컬 지점을 지정할 수 있습니다.追跡ブランチ ≠ リモート追跡ブランチ.
  • 예를 들어 현재feature/xx1가 checkout이라고 가정하면
    업스트림 브랜치의 경우
    # 上流ブランチ = ローカルブランチ
    $ git branch --set-upstream-to=develop
    Branch 'feature/xx1' set up to track local branch 'develop'.
    
    # 上流ブランチ = リモート追跡ブランチ
    $ git branch --set-upstream-to=origin/develop
    Branch 'feature/xx1' set up to track remote branch 'develop' from 'origin'.
    

    왜 이런 일이 일어났는지...


    추적 지점, 업스트림 지점이 있으면 매개 변수 없이 git pull, git push 명령을 실행할 수 있습니다!초보자에게 부드럽고 편리&즐거워요
    Git도 진화하고 있어요!
    추가
    Git는 버전 관리 시스템이지만 버전이라는 단어를 사용하지 않는 것 같다.왜??세만티크 바조닌 때문인가?
    Git - git-rev-parse Documentation
    Git - git-config Documentation  
    버전에 따라 동작이 다릅니다.push.default의 동작은 버전 2입니다.x부터matchingsimple 등.Git2.0이 드디어 현실이 되었다.유용한 기능 .버전별 차이는 RelNotes\Documentation - git.git - The core git plumbing

    좋은 웹페이지 즐겨찾기