GitHub

[GitHub] GitHub프로젝트 파일 받아와서 작업 - local branch와 remote branch

도도돋치 2025. 4. 18. 21:19
Contents 접기
728x90

GitHub develop브랜치 클론해오기

이때까지 어려웠던 깃허브의 브랜치... 오늘 이재현튜터님께 듣고 공부를 했으니 정확하게 정리를 해보자.

 

브랜치는 깃허브사이트 프로젝트에서 만들어진 브랜치(리모트 브랜치)내가 작업하는 공간에서 만들어진 브랜치(로컬 브랜치)가 있다.

 

🔹이해를 쉽게 하기위해서 깃허브 사이트, 즉 리모트 브랜치에 main이 있다고 생각해보자.

나는 이 main에서 develop브랜치를 만들었다. 그러면 이제 remote브랜치에는 아래 사진처럼 main,develop브랜치가 있다.

 

① 이제 아래의 명령어를 통해  main브랜치는 로컬로 가져오지 않고, develop브랜치만 가져온다. 

(팀원들이 받을 때는, develop브랜치를 클론하세요~~)

git clone --branch develop 클론할github레포주소

 

② 그리고 받아온 깃폴더에 cd명령어를 통해 들어간다. (cd 받은 폴더명)

확인을 위해 아래의 명령어를 입력하면 develop브랜치만 받아와진 것을 알 수 있다.

git branch

 

이제 이건 remote브랜치에서 가져온 local develop브랜치가 된다.

 

 

내가 작업할 로컬 브랜치 생성

이제 이 develop브랜치의 작업 내용에서 추가 작업을 해야하니까, 내 로컬 브랜치를 만들어야한다.

 

야래의 명령어를 통해 내 로컬 브랜치를 만든 후에 그브랜치로 연결을 한다.

이 로컬 브랜치는 레포지토리에, 즉 리모트 브랜치로 생성하지 않는다. 

git checkout -b dev/JYS

 

이렇게 하면 자신의 브랜치에서 작업을 할 수 있다.

 

 

GitHub에 push하기

내 작업이 끝나면 develop브랜치에 merge를 하고 최종적으로 GitHub에 올리는 push를 해야한다.

 

① 먼저 dev/JYS(개인브랜치)에서 작업한 것을 올리기위해 아래의 명령어를 입력한다.

git add .

.은 다 올리겠다는 뜻이다(혹시 파일 하나만 올리고 싶다면 파일 명을 입력하면된다.)

 

② 그리고 커밋 메시지를 찍기 위해서 아래와 같이 입력해준다.

git commit -m "커밋메시지"

 

③ 이제 develop브랜치로 checkout해준다.

즉, 기존에 작업하던 내브랜치(dev/JYS)에서 develop브랜치로 바꿔준다.

git checkout develop

 

④ 그리고 내 브랜치에서 작업한 내용을 develop에 merge한다.

git merge 내가작업한개인브랜치

나같은 경우에는 내가작업한 브랜치 명이 dev/JYS이므로, git merge dev/JYS을 해주었다.

 

⑤ 이렇게 하면 일단 merge는 되었고, push를 해야한다. 

git push origin develop

 위의 명령어를 쳐서 remote의 develop브랜치에 push한다.

 

⑥ push를 한 후 다시 작업을 위해서 개인 브랜치로 checkout해준다.

git checkout 개인브랜치

 

 

 

팀원들이 작업한 파일 Pull 받기

그런데 다른 팀원들이 remote브랜치의 develop에 push를 해서 develop의 내용이 달라져있을 수도 있다.

 

그럴경우에는 이제 그 내용을 pull받아 오자.

 

자기 개인브랜치에서 아래의 명령어를 통해서 pull을 받아올 수 있다. 

git pull origin <branch name>

 

위의 명령어를 통해 develop브랜치의 내용을 pull을 받아오면 된다.

Pull = fetch+merge 라고 생각하면 된다.

 

 


아래는 앞에 설명한 push내용이 있는 사진이다. (참고용)

 

728x90