1. OS별 Git 설치 방법
먼저 각 운영체제에 맞는 설치 방법을 확인했다.
Windows
윈도우의 경우 공식 홈페이지에서 설치 파일을 다운로드해야 한다.
- Git 공식 홈페이지에서 다운로드 후 설치를 진행한다.
- 설치 완료 후 Git Bash를 실행하여 사용한다.
macOS
맥 사용자는 Homebrew를 이용하면 간편하게 설치할 수 있다.
brew install git
Linux
리눅스 배포판에 따라 명령어가 다르다.
# Debian/Ubuntu 계열
sudo apt-get install git
# CentOS/RHEL 계열
sudo yum install git
2. Git 초기 설정 (User Config)
Git을 설치한 후 가장 먼저 해야 할 일은 사용자 정보를 등록하는 것이었다. 이 정보는 커밋할 때 기록되므로 정확하게 입력해야 한다.
git config --global user.name "사용자명"
git config --global user.email "이메일@example.com"
git config --global core.editor "code --wait" # VS Code를 기본 에디터로 설정
설정이 제대로 들어갔는지 확인하고 싶다면 아래 명령어를 사용한다.
git config --list
3. 프로젝트 시작과 기본 명령어 흐름
프로젝트를 시작하고 코드를 저장소에 올리는 기본적인 흐름은 다음과 같았다.
저장소 생성 및 가져오기
- git init: 현재 폴더를 Git 저장소로 초기화한다.
- git clone <URL>: 원격 저장소(GitHub 등)에 있는 코드를 내 컴퓨터로 복제해 온다.
파일 상태 확인 및 커밋
작업을 진행하면서 가장 많이 사용하게 되는 명령어들이다.
- git status: 어떤 파일이 수정되었고, 스테이징 되었는지 상태를 확인한다.
- git add 파일명: 특정 파일을 스테이징 영역에 올린다. (git add .을 사용하면 모든 변경 파일을 한 번에 올릴 수 있다.)
- git commit -m "메시지": 스테이징 된 파일들을 확정하여 이력을 남긴다.
- git log: 지금까지의 커밋 기록을 확인한다.
4. 협업을 위한 브랜치(Branch) 관리
혼자 개발할 때는 메인 브랜치만 써도 무방하지만, 협업을 위해서는 기능별로 브랜치를 나누는 것이 필수였다.
- git branch 브랜치명: 새로운 브랜치를 생성한다.
- git checkout 브랜치명: 작업할 브랜치로 이동한다.
- git checkout -b 브랜치명: 브랜치를 생성함과 동시에 그곳으로 이동한다. (가장 많이 쓴다.)
- git branch: 현재 존재하는 브랜치 목록을 확인한다.
- git merge 브랜치명: 다른 브랜치의 작업 내용을 현재 브랜치로 합친다. (주로 main으로 이동 후 사용)
5. 원격 저장소 연결과 업로드
로컬에서 작업한 내용을 GitHub 같은 원격 저장소에 올리는 과정이다.
초기화 후 GitHub 업로드 순서
프로젝트를 처음 만들어서 올릴 때는 보통 아래 순서를 따른다.
cd 프로젝트폴더
git init
git add .
git commit -m "프로젝트 초기 커밋"
git branch -M main
git remote add origin <저장소URL>
git push -u origin main
평소 작업 시 Push와 Pull
- git push origin 브랜치명: 내 작업 내용을 원격 저장소에 올린다.
- git pull origin 브랜치명: 원격 저장소의 최신 내용을 내 컴퓨터로 내려받는다.
6. .gitignore 설정하기
개발을 하다 보면 빌드 파일이나 개인 설정 파일처럼 Git에 올리면 안 되는 파일들이 생긴다. 이를 관리하기 위해 .gitignore 파일을 작성하는 법을 익혔다.
프로젝트 루트 경로에 .gitignore 파일을 생성하고, 제외할 파일이나 폴더 패턴을 적으면 된다.
작성 예시
# 빌드 결과물 제외
/dist
/build
# IDE 설정 파일 제외
.vscode/
.idea/
# 운영체제 생성 파일 제외
.DS_Store
Thumbs.db
# 특정 확장자 전체 제외
*.log
이미 추적 중인 파일 제외하기
이미 Git에 한 번 커밋된 파일은 .gitignore에 추가해도 계속 추적된다. 이때는 캐시를 지워줘야 한다.
git rm --cached .DS_Store
git commit -m "Stop tracking .DS_Store"
7. 그 외 유용한 명령어 모음
마지막으로 자주 쓰지는 않지만 알아두면 편리한 명령어들을 정리했다.
- git diff: 변경된 코드의 차이점을 상세히 비교한다.
- git stash: 현재 작업 중인 내용을 임시로 저장해 둔다. (브랜치 이동 시 유용)
- git stash pop: 임시 저장했던 작업을 다시 불러온다.
- git clean -fd: Git이 추적하지 않는 파일들(Untracked files)을 강제로 삭제한다.
- git log --oneline: 커밋 로그를 한 줄씩 간결하게 보여준다.