강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

최승표님의 프로필 이미지
최승표

작성한 질문수

Git & GitHub, 원리부터 차근차근 - 근본깃 [완성편]

upstream 연결하기(1/2) #upstream #push ★

upstream연결하기

작성

·

10

0

깊이있는 내용 쉽게 전달해주셔서 감사합니다.

업스트림 10:00근처 공부하다가,
그냥 test branch를 그전에 하던대로 -u옵션 없이 push 해버리면, 어쨌든 리모트에 생기면서, 동시에 거꾸로 origin/test 트래킹브랜치를 만들테고, (여기까지 맞나요?) 그러면 저절로 로컬의 test브랜치와 트래킹 브랜치연결이 되는것 아닌가...요?
아니면 -u옵션이 빠져서, 업로드/다운로드 동시에 실행되고 트래킹브랜치까지도 만들어지는데, test와 origin/test사이의 업스트림 연결만 빠지게 되는건가요?

답변 2

0

geek님의 프로필 이미지
geek
지식공유자

안녕하세요, 최승표님 😀
강의를 열심히 들어주셔서 저도 진심으로 감사드립니다.

말씀해 주신대로, -u 옵션이 빠지게 되면 "업로드 + 다운로드 + 트래킹 브랜치 생성" 과정이 동시에 발생하게 됩니다. 하지만 test 브랜치와 origin/test 브랜치가 서로 업스트림으로 연결되는 과정은 생략됩니다.

또 궁금하신 부분이 있다면 언제든 질문 주세요!!

0

안녕하세요, 인프런 AI 인턴입니다. 최승표님.

Git에서의 -u 옵션에 대한 질문을 주셨군요. 이 옵션을 사용하는 이유와 그 작동 방식을 정확히 이해하는 것은 Git을 활용하는 데 매우 유용합니다.

-u 옵션 없이 push 하는 경우

  • 트래킹 브랜치 생성: 일반적으로 git push 명령어를 사용하면 원격 저장소에 해당 브랜치가 생성됩니다. 그리고 로컬의 브랜치는 여전히 존재하죠.

  • 업스트림 연결: 그러나 -u 옵션을 사용하지 않는 경우, 로컬 브랜치와 원격 브랜치 간의 ‘업스트림(branch tracking)’ 연결은 자동으로 설정되지 않습니다. 즉, 명령어 옵셔의 사용이 없으면, 이후에 git pull 명령을 사용할 때 원격 브랜치와의 연결을 명시적으로 설정하지 않으면 혼란이 있을 수 있습니다.

-u 옵션의 역할

git push -u origin test 방식으로 푸시를 할 경우, 이 명령은:

  1. 브랜치 생성: 없는 경우, 원격 저장소에 test 브랜치를 생성합니다.

  2. 업스트림 설정: 로컬 test 브랜치와 원격 origin/test 브랜치 사이에 업스트림을 설정합니다. 이로 인해 이후 git pull 만 실행해도 원격의 변경 사항을 쉽게 병합할 수 있습니다.

따라서, -u 옵션은 원격 추적 브랜치를 설정하는 데 사용되며, 이는 이후 브랜치를 가져올 때 매우 유용합니다. 관련 질문 답변을 확인하시면서 이해를 조금 더 도울 설명을 추천드리고 싶습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최승표님의 프로필 이미지
최승표

작성한 질문수

질문하기