Inflearn brand logo image

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

immio99님의 프로필 이미지
immio99

작성한 질문수

git bash에서 checkout과 pull이 이해가 안돼요

작성

·

937

0

제가 master 브랜치에 올라가있는 소스코드를 git clone을 이용해서 받은다음 작업후

git branch a -> git checkout a -> git add . -> git commit -m "first" -> git push origin a
순으로 입력해 push를 했습니다. 이제 이걸 master에 merge 하려고

git checkout master -> git merge a 명령어를 사용할 생각에

git checkout master 명령어를 사용해 브랜치를 master로 바꿨더니 제 로컬에 있는 소스코드가 master에 있던 코드로 교체되었습니다.

 

원래 이렇게 checkout으로 브랜치를 변경하면 자동으로 pull이 되는건가요?

 

답변 1

0

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

님께서 질문하신 내용을 바탕으로 설명 드리겠습니다. git checkout 명령어를 사용하셨을 때 자동으로 pull이 되지는 않습니다. git checkout 명령어는 지정한 브랜치로 작업 디렉터리를 변경하는 명령어입니다. 귀하가 마스터 브랜치로 체크아웃했을 때 로컬의 소스코드가 마스터 브랜치의 코드로 보인 것은, 체크아웃한 브랜치의 최신 커밋 상태를 반영하기 때문입니다.

원격 브랜치의 변경사항을 로컬 브랜치로 가져오고자 할 때는 git pull 명령어를 사용합니다. 이 명령어는 원격 저장소의 변경사항을 현재 작업 중인 브랜치로 가져와 병합하는 명령어입니다.

따라서, master 브랜치로 변경 후 원격 브랜치의 최신 상태를 반영하고 싶다면, git checkout master 다음에 git pull origin master 명령어를 사용하여 원격 master 브랜치의 변경사항을 로컬에 반영하셔야 합니다.

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

감사합니다 제가 checkout 기능에 대해 잘못알고 있었네요.

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

저 혹시 그러면 제가 a라는 브랜치로 작업중 다른팀원이 master에 merge를 해서 동기화를 시켜야 한다면 어떤 순서로 pull을 받아야 제 작업물이 유지되면서 최신 master를 pull받을 수 있을까요?

immio99님의 프로필 이미지
immio99

작성한 질문수

질문하기