git clone과 git branch로 협업하기
'23.11.17(금) 웹 풀 사이클 데브코스 TIL
명령어 한 줄로 전 세계의 프로젝트를 그대로 가져올 수 있다.
지금까지 Local, Remote Repo를 만드는 방법과, 이를 연결하는 방법에 대해서 배웠다.
이제부턴 깃허브에 올라온 다양한 프로젝트들을 그대로- 내 로컬 환경으로 가져올 수 있다.
git clone [github repo URL]
난 방금 명령어 하나만으로 구글에서 만든 전 세계에서 가장 많이 쓰이고 있는 웹앱 아이콘 프로젝트 material design icons
의 프로젝트 전체를 내 PC에 내려받았다. 용량이2GB가넘어가서중간에취소했다
구글의 가장 유명한 오픈소스 프로젝트 중 하나를 내 마음대로 개조할 수 있는 것이다.받아주는건구글마음이지만
git clone
은 말 그대로 클론(복제)를 만드는 것이다.
깃허브 서버에 저장된 remote repo를 그대로 내 로컬환경에 복제하는 명령어이다.
지난 시간에 배운 지식을 불러오면 로컬환경에서
git init
git remote add
git pull
명령어를 순차적으로 실행했을 때 목표하는 결과와 같다.
이미 repo가 깃허브에 올라가 있다면 git clone
으로 처리하는 쪽이 더 효율적일 것이다.
git clone
으로 내가, 나의 팀이 수행하는 프로젝트를, 깃허브에 공개된 다양한 오픈소스를 언제/어디서든 내려받을 수 있텍스트는 것이다.
당연히 협업의 가장 중요한 시작점이 될 것 이다.
우린 git clone
을 통해 팀 프로젝트를 시작하기 위한 설비를 마쳤다.
이제 분업을 통해 생산성을 늘릴 시간이다.
우리는 개발자가 되어 여러 분야의 팀원들과 협업하게 될 것이다.
직무부터 구분되는 경우가 대부분일 것이고,
같은 직무라고 하더라도 각자의 특기가 다를 것이다.
프로젝트를 진행하는 BE, FE, 앱 개발자가 손을 잡고 하나씩 하나씩 차근 차근 구현한다고 하면 어떨까?
웹 뷰를 기가막히게 만들어내는 FE 개발자가 알고리즘을 구현하는 모습이 과연 생산성이 높을까?
우리는 팀 프로젝트에 분업이 필요하다는 것을 당연하게 알고 있다.
근데 그 당연한 것을 당연하게 누릴 수 있게 만들어 주는 것이 바로 branch
다.
Branch는 나뭇가지 라는 뜻이다.
모든 나무의 나뭇가지는 하나의 줄기로부터 뻗어나간다.
하나의 Repo로부터, 각자 맡는 분야에 따라 줄기를 뻗어
병렬적으로 독립적인 개발을 진행할 수 있다.
각자의 공간에서 충돌 위험 없이 개발할 수 있으므로 단위 기능을 훨씬 더 빠르게 개발할 수 있다는 장점이 있다.
실제 나무와 달리 하나의 프로그램을 만들어 내기 위해서는 이 가지들이 다시 합쳐지는 과정이 필요한데, 이 때 발생할 수 있는 문제들은 병합을 학습하는 페이지에서 작성하도록 하겠다.
단위는 기능, 직무, 테스트, 배포 등 기준에 따라 마음대로 설정할 수 있다.
git branch
- 현재 repo의 branch 리스트 출력git branch [branch 명]
- branch 만들기git checkout [branch 명]
- 현재 바라보는 branch 전환git branch
라는 명령어를 통해
현재 repo에 있는 branch를 확인할 수 있다.
기본적으로 하나의 줄기에서 시작되므로 기본값인 main
branch가 존재한다.
여기서 git branch dev
를 실행해 dev
라는 이름의 새 branch를 만들어 보자.
dev
라는 새 branch가 생성된 것을 확인할 수 있다.
*
표시로 현재는 main
branch 를 바라보고 있는 것을 확인할 수 있다.
git checkout dev
를 실행하면
다음과 같이 현재 바라보는 branch가 dev
로 변경되었음을 확인할 수 있다.