개발자라면 git은 필수라고 한다! 과연 그것이 무엇인데 필수이고 중요한지 알아보도록 하자👊🏻
Git

Git의 공식 명칭은 분산 버전 관리 시스템(Version Control System) 이다.
쉽게 말해, 프로젝트 파일의 변경 사항을 추적하는 시스템인 것이다.
버전 관리 시스템이란?
- 많은 사람들이 효율적으로 함께 작업하고, 프로젝트 중심으로 협업할 때 사용한다.
- 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 돌아갈 수 있다.
- 각 개발자가 자신만의 프로젝트 버전을 자신의 컴퓨터에 갖게 되며, 개별 버전의 프로젝트를 병합하여 기준이 되는 프로젝트에 적용 할 수 있게 된다.
코드 버전 관리를 하는 이유는?
- 수정할 때마다 파일을 새로 만들면 관리가 힘들다.
- 버전 관리를 통해 언제든 이전 버전 코드로 돌아갈 수 있다.
- 이력을 남길 수 있다.
- 어떤 시점에 누가, 무엇을 수정했는지 알 수 있다.
- 하나의 프로젝트를 두고 여러 개발자들이 협업 할 수 있다.
GitHub

GitHub는 Git repository를 위한 호스팅 플랫폼이다.
GitHub (및 기타 유사한 플랫폼) 없이도 Git을 사용할 수 있지만 다른 개발자와 같은 프로젝트를 두고 협업하거나 코드를 공유하기는 어렵기 때문에 Git과 GitHub는 뗄 수 없는 사이라고 할 수 있다.
요약하자면, Github는
- 원격 저장소이다.
- git을 사용한 프로젝트의 저장소이다.
- github repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 하주고, public 혹은 private하게 협업할 수 있게 해준다.
- 개발자들의 소셜 네트워크다.
- github 유저들은 서로 follow하고, 협업하기도 하면서 다양한 방법으로 교류할 수 있다.
Git 과 GitHub의 차이
- git은 버전 관리 시스템으로 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구이다.
- github는 버전 관리를 한 프로젝트들을 관리해주는 프로그램이다.
- git을 사용하는 프로젝트를 위한 호스팅 서비스이다.
Git 명령어
git init
- git 저장소 생성 / 버전 관리를 위한 정보를 생성한다.
- 버전 관리를 하고 싶은 디렉토리에서 해당 명령어를 입력한다.
- ⚠️ 작업하고 싶은 폴더에서 해줘야함 (현재 위치 확인 유의하기! )
git status
git add
git commit
- 파일 수정 이력을 기록
- 장바구니에 담긴 것을 결제하는 역할
git log
git remote
git push
git clone
- 레포지토리에 있는 코드를 내 로컬로 복제해 올 때 사용
- 전체 코드 를 가져올 때 사용
git clone [주소]
git branch
- 독립된 공간 만들기
- 독립적으로 개발 할 수 있는 공간을 만든다.
master
직접 코드를 푸시하지 않는다 / 작업X
git branch [브랜치 이름]
git checkout
- 브랜치 이동
- 현재있는 브랜치에서 다른 브랜치로 이동할 때 사용하는 명령어
git checkout [브랜치 이름]
git pull
- 코드 가져오기
- github에 있는 특정 브랜치 코드를 로컬로 가져올 때 사용하는 명령어
git pull origin [브랜치 이름]
git merge
- 코드 합치기
- 로컬에서 현재 브랜치의 코드와 특정 브랜치의 코드를 합칠 때
git merge [브랜치 이름]
마무리✨
처음 접하는 사람에게 git과 github의 개념자체가 낯설 수 있지만(내가 그랬다) 계속 쓰다보면 나도 모르는 사이 commit하고 push 하면서 열심히 잔디를 심고 있는 내 자신을 보게 될 거니깐 너무 겁먹지 말고 일단 사용법에 익숙해져보자