프로젝트 파일의 변경 사항을 추적하는 시스템
이다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록
하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다
. 이런 버전 관리 시스템은 많은 사람들이 효율적으로 함께 작업하고, 프로젝트를 중심으로 협업할 때 사용할 수 있다.
먼저 컴퓨터에 Git이 설치되어 있는지 확인한다.
(Git 다운로드 링크: https://git-scm.com/downloads)
설치를 마쳤으면, Git을 사용할 수 있는지 확인하기 위해 터미널을 열고 아래 커맨드를 입력한다.
git
--version
Git이 정상적으로 설치 되었다면, 설치되어 있는 Git 버전이 표시된다.
이름 & 이메일 설정
Git에 본인 정보를 등록하기 위해 터미널에서 실제 본인 "이름"과 "이메일"을 입력한다.
git
config --global user.name"이름"
git
config --global user.email"이메일"
Git repository는 Git으로 관리하는 프로젝트 저장소이다. Git repository에는 두 가지 종류가 있다.
Local repository
본인 컴퓨터에 저장된 프로젝트 저장소
Remote repository
외부 버전의 프로젝트 저장소. 팀 작업 할때 유용하다.
새 저장소(repository)를 만들고 Git으로 프로젝트 관리를 시작하려면 터미널에서 프로젝트로 이동 후 git init
을 입력하면 프로젝트 폴더 내 숨겨진 .git
디렉토리를 생성한다.
git init
Git에서 commit 이란, 프로젝트의 현재 상태를 나타내는 체크포인트 또는 스냅샷으로 생각할 수 있다. 이를 통해 프로젝트의 진행 상황을 효율적으로 관리할 수 있다.
git status
모든 변경사항을 확인할 수 있다.
git add file.js
git add
라는 명령어를 통해 우리가 원하는 파일들을 staging area 로 추가해줄 수 있다.
git commit -
"Commit message"
커밋은 특정 시간의 코드 스냅샷의 형태로 해당 repository의 커밋 기록에 남게 된다.
git log
프로젝트의 모든 커밋 내역을 볼 수 있다.
staging area 에 추가하고 싶지 않거나, git 에서 관리하지 않아도 되는 파일이 있다면, .gitignore
파일을 프로젝트 폴더에 생성해준다.
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념
이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다. 여러 명이서 동시에 작업을 할 때에 다른 사람의 작업에 영향을 주거나 받지 않도록, 먼저 메인 브랜치에서 자신의 작업 전용 브랜치를 만든다. 그리고 각자 작업을 진행한 후, 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치의 변경 사항을 적용한다.
GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스
이다. GitHub 은 여러명의 개발자들이 함께 하나의 repository 를 두고 협업할 수 있게 해주기 때문에 정말 유용하다. 여러가지 오픈소스 프로젝트를 보고 참고해서 나의 프로젝트를 빌드업하거나 해당 프로젝트에 기여할 수도 있다.
Common Workflow: 내 로컬 Repository를 GitHub 에 push 하기
- 로컬에서 add / commit 한다.
- Github 으로 이동 후 새 repository를 생성한다.
- 나의 로컬 repository 를 GitHub repository 와 연결한다. (remote 추가)
- 새 remote 를 이용하여 코드를 Push 한다.
브랜치를 사용해서 현재 프로젝트의 코드를 그대로 복제하여 작업 환경을 만들 수 있다. master 브랜치를 건드릴 필요없이 작업환경에서 기능을 추가하거나 테스트를 진행할 수 있다. 나중에 전부 완료가 된다면, 그 때 master 브랜치와 merge(병합) 해줄 수 있다.