git
이란 특정 폴더, 파일들의 버전 관리
를 위한 프로그램이다.
회사나 개인이 진행하는 프로젝트는 한번에 완성되지 않고 기능 추가, 버그 수정 등 다양한 작업을 거친다. 이 과정을 거치면서 git
을 통해 버전 관리를 하는 것이다.
github
는 git
이 로컬 저장소에서 관리한 파일과 버전들을 온라인 상에 업로드하고, 보관할 수 있게 해주는 서비스이다.
git log
를 터미널에 입력하여 버전을 확인한다.git revert (커밋명)
을 입력하여 해당 커밋명에 해당하는 버전으로 되돌린다.git reset
도 있지만 이 명령어는 입력된 커밋으로 돌아가면서, 그 커밋 이후의 기록을 삭제하기 때문에 잘 쓰이지 않는다. 협업이 중요하기 때문에 기록도 중요!팀 단위 프로젝트에선 github
를 통하여 프로젝트를 관리한다. 각자 담당 부분을 수정하고 개발하면서 프로젝트가 진행되는데, 이 프로젝트는 팀 별로 다양하다.
그림과 같이 개발이 흘러간다고 이해하면 된다. 말 그대로 정말 flow
여기서 가장 주요한 개념은 branch
이다.
그림에 왼쪽에 있는 키워드 들 Master, Hotfix 등이 branch
이다. 그림에 나온 4가지 키워드 뿐만 아니라 프로젝트 성격에 따라 더 다양한 branch
가 존재할 수 있다. branch
는 왜 중요할까?
branch
란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 branch
는 다른 branch
의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다. 따라서 사용자들이 실제 서비스를 받아보기 전에 기능 구현을 각자 담당하는 branch
에서 구현할 수 있고 서비스 중에도 hotfix branch
와 같은 버그 수정 branch
에서 버그를 고칠 수도 있기에 개발 협업 과정에서 중요하다.