Git
분산 버전 관리 시스템, 즉, 프로젝트 파일들의 변경 사항을 추적하는 시스템
개발 프로젝트 협업 시, 프로젝트 변경 사항을 기록하고, 특정 시점의 코드 버전으로 돌아갈 수 있고, 각 개발자가 자신의 로컬 컴퓨터에서 작업한 개별 파일을 하나의 프로젝트로 병합할 수 있게 해준다.
Git 필수 용어와 명령어
✅Repository (저장소)
깃으로 관리하는 프로젝트 저장소로, 내 컴퓨터에 저장된 프로젝트 저장소인 Local repository와 원격 서버 내의 프로젝트 저장소인 Remote repository로 구분된다.
1️⃣Initializing a repository
Git으로 새롭게 프로젝트 관리를 시작하기 위해 프로젝트 폴더에서 아래의 명령어를 입력하면, 프로젝트 폴더 내에 .git 디렉토리가 숨겨진 형태로 생성되고, Git에서 현재 저장소의 모든 변경사항을 추적/관리할 수 있게 된다.
git init
2️⃣Staging code
1. Staging Files (Staging area에 파일 추가)
아래의 명령어로 하나의 파일을 Staging area에 추가하거나, 모든 변경 파일을 한꺼번에 Staging area에 추가할 수 있다.
// 하나의 파일만 추가하기
git add file.js
// 모든 파일을 한 번에 추가하기
git add .
2. Checking the status
Repository의 현재 상태를 확인하는 명령어로, 어떤 파일이 변경 혹은 추가되었는지 모든 변경사항을 확인할 수 있다.
git status
3️⃣Committing code
Commit을 하려면, 반드시 코드를 staging area에 add 명령어를 통해 추가해야 한다
1. Making commits
특정 시점의 코드를 스냅샷 형태로 repository의 커밋 기록에 아래의 명령어를 통해 남겨둘 수 있다.
// 한 줄 커밋 메시지 남기기
git commit -m "commit message"
// 여러 줄 커밋 메시지 남기기 -> vim editor를 통해 커밋 메시지를 남길 수 있다.
git commit
2. Commit history
- 해당 프로젝트의 모든 커밋 내역을 볼 수 있다.
git log
- 이전 특정 시점의 커밋으로 되돌릴 수 있는 명령어. (되돌리고 싶은 특정 시점 커밋의 해쉬값을 입력한다.)
git checkout <commit-hash>
[실습] VSC로 작업한 프로젝트 Github에 올리기
- cd 명령어를 사용하여 복사하려는 폴더로 이동합니다.
- 업로드하려는 새 GitHub 저장소를 생성합니다.
- github 본인의 계정에서 신규 repository를 생성한다.
- 터미널에서 git init 명령어를 사용하여 폴더에 새 Git 저장소를 초기화합니다.
- git add . 명령어를 사용하여 폴더의 파일을 새 Git 저장소에 추가합니다.
- git commit -m "Initial commit" 명령어를 사용하여 변경 사항을 커밋합니다.
- git branch -M main 메인 브랜치를 master가 아닌, main으로 설정합니다.
- git remote add origin <new repository URL> 명령어를 사용하여 새 저장소를 로컬 Git 저장소에 추가합니다.
- git push -u origin main 명령어를 사용하여 변경 사항을 새 저장소에 푸시합니다.