쉽게 말해서 프로젝트 파일의 변경 사항을 추적하는 시스템.
git을 사용함으로써, 많은 사람들이 효율적으로 함께 작업하고,
프로젝트를 중심으로 협업할 수 있게끔 해준다.
git repository는 git으로 관리하는 프로젝트의 저장소다.
git repository에는 크게 두 가지 종류가 있음.
새 저장소를 만들고 git으로 프로젝트 관리를 시작하기 위해서는
터미널에서 프로젝트 폴더로 이동 후 아래 명령어를 입력해준다.
git init
이때 주의할 점은 git init을 시작한 폴더의 하위폴더를 전체적으로 관리하는 것이기 때문에
무관한 파일들이 없는지 확인 후 진행해주는 것이 좋다.
명령어 입력과 동시에 프로젝트 폴더 내에 숨겨진 .git 디렉토리가 생성되며, 저장소에 대한 모든 변경사항을 추적/관리하게 된다.
Git에서 commit이란, 프로젝트의 현 상태를 나타내는 checkpoint! 으로 생각할 수 있다. commit history에 필요한 만큼 생성 할 수 있으며, commit간 앞뒤로 이동하여 프로젝트 코드의 변경사항을 확인 할 수 있다.
터미널에서 다음 명령어를 입력하여 repository의 현재 상태를 확인 할 수 있다.
git status
파일의 수정,추가,삭제 등 파일의 변경에 대한 기록을 보여주는 명령어로 자주 사용 됨.
git status 를 통해 추적되지 않은 파일을 확인하여 staging area로 옮겨줘야 한다.
프로젝트 폴더에서 git add
라는 명령어를 통해 원하는 파일을 staging area로 옮겨줄 수 있으며, 명령어는 아래와 같다.
git add pizza.md
여러개의 파일을 추가하고 싶다면 아래처럼
git add pizza.md chiken.md hamberger.md
파일을 각각 추가하지 않고, 모든 파일을 한번에 추가 하고 싶다면
git add .
위 명령어들은 프로젝트 폴더 내의 모든 파일과 폴더를 staging area에 추가하고 commit을 남길 수 있게 해준다.
git add
명령어를 통해 staging area로 이동되어져 온 파일들에 대해 commit을 남기려면 아래와 같이 입력해준다.
git commit -m"commit message"
식별을 위해 " "안에 작성해야 한다.
프로젝트의 모든 commit 내역을 보려면 아래와 같이 입력해준다.
git log
git log
명령어를 통해 commit에 대한 자세한 정보를 볼 수 있으며,
특정 commit 시점의 코드로 돌리고 싶다면, 아래와 같이 입력해준다.
git checkout <commit-hash>
staging area에 추가하고 싶지 않거나, git에서 관리하지 않아도 되는 파일이 있으면, .gitignore
파일을 프로젝트 폴더에 생성해주면 된다.
해당 파일 안에 파일명과 폴더명을 나열하면 된다.
[작성 패턴]
1. 항상 최상위 directory에 존재해야 한다.
2. 파일 명 앞에!
를 붙혀주면 해당파일은 ignore에서 제외된다.(!pizza.md)
3.표준 glob 패턴
을 사용한다.
4./
로 시작하면 하위 디렉터리에 적용되지 않는다.
5. 디렉터리는/
를 끝에 사용하는 것으로 표현한다.
6.#
로 시작하는 라인은 무시한다.
끝!