Git
의 공식 명칭은 분산 버전 관리 시스템(VCS - Version Control System
)이다. 즉, 프로젝트 파일의 변경 사항을 추적하는 시스템이다.
💡 코드 버전 관리 하는 이유
Git
은 주로 command-line interface(CLI)
를 통해 사용한다.
CLI란, 명령줄 인터페이스라는 이름으로 번역이 가능하다.
사용자는 커맨드 즉, 문자열을 통해 컴퓨터에게 명령한다.
컴퓨터의 응답도 역시 문자열로 출력해주는 방식을 말한다.
Github
은 Git repository
를 위한 호스팅 플랫폼이다.
즉, Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경사항을 추적하는 도구라면,
GitHub
은 Git
을 사용하는 프로젝트를 위한 호스팅 서비스이다.
GitHub
을 사용하여 로컬 프로젝트 repository
를 원격 클라우드 기반 GitHub
저장소에 업로드할 수 있고, public repository
들을 통해 다른 개발자들과 교류할 수도 있다.
git --version
설치되어 있는 git 버전 확인하기
git init
새 저장소를 만들고 git으로 프로젝트 관리를 시작하려면 위의 명령어를 입력한다.
이 명령어는 프로젝트 폴더 내에 숨겨진 .git 디렉토리를 생성한다.
git clone
github-repo-link
git repo를 먼저 생성한 뒤 clone해서 내 로컬 환경에 다운로드 후 프로젝트를 시작하는 방법
git remote add origin
내 컴퓨터에 있는 로컬 repository와 방금 만든 GitHub repository를 연결해준다.
git status
터미널에서 다음 명령어를 입력하여 repository의 현재 상태를 확인할 수 있다.
git add file.js
프로젝트 폴더 내의 모든 파일과 폴더를 staging area에 추가하고 커밋을 남길 수 있게 해준다.
'모든 수정사항을 기록으로 남기겠다'는 의미, 어떤 걸 남길지 고르는 것
git add .
각각 추가하지 않고, 위와 같이 모든 파일을 한번에 추가할 수 있다.
git commit -m "commit message"
커밋은 특정 시간의 코드 스냅샷의 형태로 해당 repository의 커밋 기록에 남게 된다.
git add로 모든 파일을 staging area에 추가했다면 커밋을 하면 된다.
git push
커밋 한 뒤, push로 업데이트 된 로컬 repo를 GitHub repo로 push해준다.
git pull
remote의 최신화된 코드를 내 로컬 repo에 반영할 수 있다.
git log
프로젝트의 모든 커밋 내역을 보기 위한 명령어
.gitignore
staging area에 추가하고 싶지 않거나, git에서 관리하지 않아도 되는 파일이 있다면, .gitignore파일을 프로젝트 폴더에 생성하면 된다.
브랜치란, 독립적으로 어떤 작업을 진행하기 위한 개념이다. 다른 사람의 작업에 영향을 주거나 받지 않도록, 독립적으로 특정 작업을 수행하고, 그 결과를 하나로 모아 나가게 된다.
git branch
new-branch-name
새로운 브랜치 생성하기
git checkout
branch-name
다른 브랜치로 이동하기
git checkout -b
new-branch-name
위의 두 작업을 동시에 할 수 있다.
새로운 브랜치를 생성하고 생성된 브랜치로 이동하는 명령어
git merge
branch-name
다른 브랜치를 현재 브랜치와 병합할 수 있다.
git branch -d
branch-name
브랜치를 삭제할 수 있다.