강의

멘토링

커뮤니티

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

kelo님의 프로필 이미지
kelo

작성한 질문수

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)

Git, Github 기초부터 실전까지!

"git, github 기초부터 실전까지" 에서 궁금한 점...

작성

·

16

0

10분 40초쯤에 '회원가입 구현'에 체크아웃을 하면 이전으로 롤백(?)이 된다고 하셨는데,

궁금한게 그런데 옆에 아이콘 main은 그대로 '로그인 수정'에 있는게 이해가 안돼요.

그래프도 파란색에서 노란색으로 바뀐게 왜 그런지.. 위와 관련이 있는건지.

예를 들어서 로그인 수정 기능은 없애고 그냥 회원가입 구현때로 돌아갈려고 체크아웃했는데,

로그인 수정이 그대로 있는것이라면 실제 서비스 시에는 로그인 수정한 서비스가 보여지는건지 아니면 회원가입 구현한것까지만 보여지는건지(로그인 수정은 안한걸로)...

근데 main? 이라는 아이콘은 로그인 수정에 있고...노란색으로 바뀌고...(나중에 알려주시나요?)

답변 2

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요! 🙂

Git 개념이 처음이시면 헷갈리실 수 있는데요~! 하나씩 설명드릴게요.

1. 체크아웃(Checkout)이란?

강의에서 Git을 처음 사용하시는 분들을 위해 소스를 이전으로 되돌릴 수 있다는 걸 이해하기 쉽게 "롤백"이라고 표현했는데요. 해당 화면에서는 정확히는 "그 시점의 코드를 잠깐 보러 가는 것"이에요. 그 시점으로 체크아웃한 거죠!

2. main 아이콘이 '로그인 수정'에 있는 이유

main은 현재 프로젝트의 최신 상태를 가리키는 표시예요. 체크아웃으로 과거 시점을 보고 있어도, main(최신 상태)은 여전히 '로그인 수정' 커밋에 있는 거예요.

Git이 모든 커밋 이력을 관리하고 있기 때문이에요. 과거로 체크아웃해도 현재 이력은 삭제되지 않아요.

3. 색상이 파란색 → 노란색으로 바뀐 이유

노란색은 "지금 브랜치가 아닌 특정 커밋 시점에 있다"는 표시예요. main 브랜치에서 벗어나 과거 커밋을 구경하고 있는 상태라서 색이 바뀐 거예요. 다시 git checkout main 하면 파란색으로 돌아옵니다!

그리고 작업은 꼭 브랜치에서 진행하셔야 해요. 만약 과거 시점(체크아웃한 상태)에서 작업을 하고 싶다면, 그 시점에서 별도 브랜치를 만들어서 진행해야 해요. 브랜치 없이 작업하면 나중에 커밋이 꼬일 수 있거든요!

실제 서비스 배포는 보통 main 브랜치 기준으로 하는 경우가 많아요. 다만 Git 워크플로 방법은 정말 다양해서, 더 자세한 내용이 궁금하시면 Google에서 "Git 브랜치 전략" 키워드로 검색해보시면 다양한 사례를 확인하실 수 있어요!

4. 브랜치(Branch)란?

브랜치는 다음 강의에서 대략 설명드리지만, 간략히 설명드릴게요!

브랜치는 "작업 공간을 분리하는 것"이에요. 실무에서는 보통 이런 흐름으로 개발해요:

  1. main 브랜치에서 새로운 브랜치를 만듦 (예: feature/login)

  2. 새 브랜치에서 기능 개발 진행 (실제 작업은 반드시 별도 브랜치에서 해야 해요!)

  3. 개발이 완료되고 확정되면 → main 브랜치에 병합(merge)

  4. 만약 기능이 필요 없어지면 → 그냥 브랜치 삭제 (이게 사실상 롤백 개념이에요. main에는 아무 영향이 없으니까요!)

이렇게 하면 main 브랜치는 항상 안정적인 상태를 유지하면서, 새로운 기능은 별도 공간에서 안전하게 개발할 수 있어요.

Git이 처음이시라면 일단 간단히만 사용해보세요. 사용하시면서 특정 상황이 발생했을 때 그때그때 구글링이나 AI에게 물어가며 필요한 기능을 학습하시면 돼요.

감사합니다 🙏

0

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

git 및 GitHub에 관련된 강의를 보시면서 ‘체크아웃’ 개념에 대해 혼란을 겪으신 것 같습니다. 체크아웃(Checkout)은 git에서 특정 브랜치나 커밋으로 작업 디렉토리를 이동시키는 중요한 명령어입니다.

Git의 체크아웃(Checkout)

  1. 체크아웃 커밋: 특정 커밋으로 체크아웃하면, 해당 커밋 시점으로 코드가 복원됩니다. 즉, ‘회원가입 구현’으로 체크아웃했다면, 그 시점의 코드 상태로 이동하는 것입니다.

  2. HEAD 포인터: ‘main’이라는 아이콘은 HEAD 포인터가 현재 어떤 브랜치를 가리키고 있는지 나타냅니다. 체크아웃 과정에서 HEAD가 실제로 어떤 브랜치 또는 커밋을 가리키는지가 변경됩니다.

  3. 그래프 색상: 그래프의 색상이 변하는 것은 체크아웃 상태(분리 HEAD 상태)에서 브랜치를 이탈하거나 다른 시점으로 이동했음을 나타내는 것입니다.

실제 서비스에 영향

체크아웃을 통해 로컬에서 특정 시점으로 돌아가더라도, 실제 서비스나 원격 저장소(GitHub)에 푸시되지 않는 이상 서비스에는 영향이 없습니다. 따라서,
- 회원가입 구현까지만 코드를 확인하고 싶다면 그 시점으로만 이동할 뿐입니다.
- 서비스에 반영된 내용은 원격 저장소에 푸시된 내용이므로, 로컬에서만 이루어진 변경은 서비스엔 바로 반영되지 않습니다.

추가 학습 자료

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

kelo님의 프로필 이미지
kelo
질문자

  • Git과 관련된 브랜치 관리 및 HEAD 사용에 대해 더 상세히 알고 싶다면 Git의 분기와 머지 이해하기 같은 게시물을 확인해보세요.

  • 위의 링크가 404 에러가 납니다.

kelo님의 프로필 이미지
kelo

작성한 질문수

질문하기