Git의 공식 명칭은 분산 버전 관리 시스템 (VCS) 입니다.
쉽게 말해, 프로젝트 파일의 변경 사항을 추적하는 시스템입니다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있습니다. 이런 버전 관리 시스템은 많은 사람들이 효율적으로 함께 작업하고, 프로젝트를 중심으로 협업할 때 사용할 수 있습니다. 각 개발자가 자신만의 프로젝트 버전을 본인 컴퓨터에 갖게됩니다. 나중에 이러한 개별 버전의 프로젝트를 병합하여 기준이 되는 버전의 프로젝트에 적용 할 수 있게 됩니다.
Git은 개인 혹은 팀 간의 프로젝트를 관리하는 데 가장 널리 사용되고 있는 툴입니다. 따라서 Git을 다룰 줄 아는 것은 요즘 모든 개발자들에게 가장 중요한 기술 중 하나입니다.
💡
Git 공식 홈페이지: https://git-scm.com/
Git은 자신의 Local에 있는 소스코드를 관리할때도 사용하고, Remote하여 Gitlab이나 Github 계정에 할당된 서버 공간에 저장하며 협업하기 위해서도 사용한다.
깃에 기본을 이해하기위한 구조를 살펴보자
Git을 사용할 때는 repository 라는 용어를 잘 알고 있어야합니다. Git repository는 Git으로 관리하는 프로젝트 저장소입니다. (쉽게 말해 폴더라고 생각하시면 됩니다.)
Git repository 에는 크게 두 가지 종류가 있습니다.
git init
새 저장소를 만들고 git으로 관리를 시작하려면 이 명령어가 필요하다.
git init 명령어는 폴더 내에 숨겨진 .git 디렉토리를 생성, git은 현재 저장소에 대한 모든 변경사항을 추적/ 관리하게 됩니다
git status
위 명령어는 어떤 파일이 변경되었는지, 어떤 파일이 추가되었는지 등을 모두 보여줌. git status 명령어를 통해 Git 으로 관리(추적)되고 있지 않던 파일(들)이 있다면 해당 파일들을 staging area 로 추가해줄 수 있습니다.
모든 파일이 Git으로 관리되고 있는 시점에서는, git status 명령어를 통해 모든 변경사항을 확인할 수 있고, 커밋을 남기기 위해 staging area 로 추가해줘야 합니다.
git add file.js
파일을 각각 추가하지 않고, 아래와 같이 한번에 모든 파일을 추가 할 수도 있다.
git add .
위 명령어는 프로젝트 폴더 내의 모든 파일과 폴더를 staging area 에 추가하고 커밋을 남길 수 있게 해줍니다.
커밋은 특정 시간의 코드 스냅샷의 형태로 해당 repository의 커밋 기록에 남게됩니다. git add 명령어를 사용하여 모든 파일을 staging area에 추가 해주었다면 이제 커밋을 남길 준비가 되었습니다.ㅎ
아래 명령어를 통해 staging area에 있는 파일들을 커밋할 수 있습니다.
git commit -m "message"
식별을 위해 큰 따옴표안에 커밋 메세지를 작성해야 합니다.
커밋 메시지는 repository에 커밋하는 변경 사항을 설명하는 짧은 summary 여야 합니다.
위 명령어를 실행하면, 터미널에 방금 남긴 커밋에 대한 세부 내용이 보여지게 됩니다.
git log
git log 명령어를 통해 보여지는 log는 각 커밋에 대한 자세한 정보를 담고 있습니다. (작성자, hash 값, 날짜와 시간, 그리고 커밋 메세지)
만약 특정 커밋 시점의 코드로 되돌리고 싶다면, 아래 명령어를 사용할 수 있습니다.
git checkout
staging area 에 추가하고 싶지 않거나, git 에서 관리하지 않아도 되는 파일이 있다면, .gitignore 파일을 프로젝트 폴더에 생성해주시면 됩니다.
.gitignore 파일 안에, 해당하는 파일명과 폴더명을 나열하면 됩니다. (각 파일, 폴더가 새로운 줄에 입력되어야 합니다.)
ex)
.DS_*
.log
logs
**/.backup.
**/.back.*
node_modules
bower_components