콘텐츠로 건너뛰기
GitTree
Git 가이드3분 읽음

Git에서 업스트림 브랜치를 설정하는 방법

업스트림은 로컬 분기가 푸시하고 끌어오는 원격 분기입니다. 설정, 확인, 변경 및 제거 방법, "업스트림 분기 없음" 오류 수정 방법, 포크에서 upstream의 의미는 다음과 같습니다.

작성자: Kodmora

GitTree 뒤에 있는 소프트웨어 하우스

업데이트됨
  • 브랜치
  • 리모트 및 푸시
이 페이지에서

새 분기를 푸시하고 업스트림을 설정하려면 `git push -u origin my-branch`을(를) 실행하세요. 원격지에 분기가 이미 존재하는 경우 대신 git branch -u origin/my-branch을(를) 실행하세요. 그 후에는 일반 git push과 git pull이(가) 어디로 가야 할지 알게 됩니다. -u는 --set-upstream의 약자입니다.

Git의 업스트림 브랜치란 무엇입니까?

추적 분기라고도 하는 업스트림은 로컬 분기에 연결된 원격 분기입니다. Git은 세 가지 용도로 해당 링크를 사용합니다. git pull 및 git push가 인수 없이 이동하는 위치, git status의 앞뒤 계산 비교, 약식 @{u}의 의미.

새 브랜치의 업스트림을 어떻게 설정합니까?

git switch -c feature/search
git push -u origin feature/search

이렇게 하면 원격에 분기가 생성되고 둘이 연결됩니다. 첫 번째 푸시에는 -u만 필요합니다. 브랜치 생성 및 전환 가이드에서는 이 단계 이전 단계를 다룹니다.

기존 브랜치의 업스트림을 어떻게 설정합니까?

원격 분기가 이미 존재하는 경우 푸시하지 않고 연결합니다.

# the branch you are on
git branch -u origin/feature/search

# any other branch
git branch -u origin/main main

긴 형식은 git branch --set-upstream-to=origin/main입니다. Git에서 원격 브랜치가 존재하지 않는다고 표시되면 먼저 git fetch을 실행하세요.

"현재 브랜치에 업스트림 브랜치가 없습니다"를 어떻게 수정합니까?

푸시된 적이 없는 브랜치에서 git push를 실행하면 Git이 이를 인쇄합니다.

fatal: The current branch feature/search has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin feature/search

제안된 명령을 실행하십시오. 오류 표시를 중지하려면 Git이 처음 푸시할 때마다 이 작업을 수행하도록 합니다(Git 2.37 이상).

git config --global push.autoSetupRemote true

"현재 분기에 대한 추적 정보가 없습니다"라는 관련 메시지가 git pull에서 왔습니다. 수정 사항은 동일합니다: git branch -u origin/my-branch.

브랜치가 추적하는 내용을 어떻게 확인하나요?

# every branch, with its upstream and ahead/behind
git branch -vv

# only the current branch
git rev-parse --abbrev-ref @{u}

# commits you have not pushed
git log @{u}..

# commits you have not pulled
git log ..@{u}

업스트림을 변경하거나 제거하려면 어떻게 해야 합니까?

# point the branch somewhere else
git branch -u origin/develop

# stop tracking anything
git branch --unset-upstream

두 명령 모두 커밋을 변경하지 않습니다. .git/config의 브랜치 설정만 편집합니다.

포크에서 업스트림은 무엇을 의미하나요?

이 단어에는 두 번째 의미가 있습니다. 포크에서 upstream은 관례상 원격의 이름입니다. 즉, 포크한 원본 프로젝트이고 origin은 자신의 복사본입니다. 이것이 "git 원격 추가 업스트림"의 내용입니다.

git remote add upstream https://github.com/original/project.git
git fetch upstream
git switch main
git merge upstream/main
git push origin main
상류의 두 가지 의미
업스트림 브랜치업스트림 원격
그것은 무엇입니까원격 브랜치 하나의 로컬 브랜치가 추적합니다.일반적으로 포크의 원본인 upstream이라는 원격 저장소
다음으로 설정git push -u 또는 git branch -ugit remote add upstream <url>
확인해보세요git branch -vvgit remote -v

GitTree에서 업스트림을 설정하는 방법

  1. 새 브랜치 게시

    분기가 체크아웃된 상태에서 Push를 누릅니다. GitTree는 해당 브랜치가 아직 원격 브랜치를 추적하지 않고 Remote을(를) 요청한다고 말합니다.

  2. 원격 저장소를 선택하세요

    origin을 선택하고 원점으로 푸시를 누르세요. 거기에 분기가 생성되고 그때부터 추적됩니다.

  3. 추적 대상 변경

    분기 레이블을 마우스 오른쪽 버튼으로 클릭하고 업스트림을 연 다음 업스트림 설정…을 엽니다. 업스트림 분기를 선택하고 추적을 누르거나 업스트림 설정 해제를 선택합니다.

GitTree 분기의 업스트림 하위 메뉴에는 업스트림 설정...이 표시되어 있습니다.
GitTree 분기의 업스트림 하위 메뉴에는 업스트림 설정...이 표시되어 있습니다.데모 저장소와의 GitTree 인터페이스입니다.

자세한 내용은 추적 설정 및 분기 게시를 참조하고, 연습하려면 원격 및 업스트림 강의를 참조하세요.

자주 묻는 질문

git push -u는 무엇을 합니까?

분기를 푸시하고 원격 분기를 업스트림으로 기록하므로 나중에 git push 및 git pull에는 인수가 필요하지 않습니다.

푸시할 때마다 -u가 필요합니까?

아니요, 브랜치당 한 번만 가능합니다. 설정은 변경할 때까지 .git/config에 유지됩니다.

원본과 업스트림의 차이점은 무엇입니까?

origin은(는) 복제한 원격 저장소의 기본 이름입니다. upstream은(는) 로컬 브랜치가 추적하는 브랜치이거나 일반적으로 포크한 프로젝트를 가리키는 두 번째 원격 브랜치입니다.

@{u}은(는) 무슨 뜻인가요?

현재 브랜치의 업스트림을 단축한 것이므로 git diff @{u}는 브랜치를 추적하는 원격 브랜치와 비교합니다. @{upstream}은 긴 형식입니다.

내 브랜치가 잘못된 원격 브랜치로 푸시되는 이유는 무엇입니까?

업스트림 브랜치는 종종 이름 변경 후에 발생합니다. git branch -vv을(를) 실행하여 확인하고 git branch -u origin/correct-name을(를) 실행하여 수정하세요.

출처

다른 제품에 대한 주장은 2026년 11월 7일의 공식 페이지에서 확인되었습니다. 가격과 기능은 변경됩니다. 공급업체 페이지가 진실의 원천입니다.