커밋(Commit) 이해하기
커밋이란 무엇인가?
커밋(Commit)은 Git에서 중요한 개념입니다. 파일의 변경 사항을 저장하는 행위를 말하며, 프로젝트의 이력을 이루는 기본 단위입니다. 생성한 커밋은 안전하게 저장됩니다. 작업 디렉터리를 스냅숏으로 저장해두기 때문에 파일 복원이 가능합니다.
커밋의 중요성
커밋은 작업의 안정성을 보장합니다. 버그가 발생했을 때 이전 상태로 쉽게 되돌아갈 수 있으며, 프로젝트의 변경 사항을 세밀하게 추적할 수 있습니다.
Git 사용하기 1단계: 사용자 정보 설정하기
사용자 정보 설정하기
Git을 처음 설치한 후, 사용자 정보를 설정해야 합니다. 이는 커밋에 사용자의 신원을 기록하기 위함입니다. '사용자 이름'은영문으로 작성해야 하며 이메일은 GitHub 가입 계정을 말합니다.
git config --global user.name "사용자 이름"
git config --global user.email "사용자 이메일 주소"
git config --global color.ui auto (깔끔한 화면 설정)

CLI로 사용자 정보 확인하기
설정한 정보를 확인하려면 아래의 명령어를 사용합니다.
git config --list

Git 사용하기 2단계: Git 저장소 생성 및 사용하기
git init 명령어
새로운 Git 저장소를 시작하려면 git init
명령어를 사용합니다. 현재 폴더 내 비어있는 Git 저장소가 초기화됩니다. 로컬 저장소가 생성이 되면서 '.git' 폴더가 생깁니다. 이 폴더는 감춰진 폴더로 바로 확인되지 않습니다. 생성된 커밋은 '.git' 폴더에 저장됩니다.
git clone 명령어
원격 저장소의 복사본을 로컬 시스템으로 가져오려면 git clone [URL]
명령어를 사용합니다. 복제하는 디렉터리는 자동 생성되면서 로컬 저장소 및 필요한 파일 초기화가 이뤄집니다.

위 경우는 리눅스 저장소를 복제하는 'git clone' 명령입니다. Git이 리눅스 프로젝트 관리를 위해 만들어졌고 리눅스를 만든 리누스 토발즈가 관리하는 리눅스 프로젝트가 GitHub에 있습니다.
커밋 사용법 이해하기
커밋을 위한 파일 준비
변경된 파일을 커밋하기 전에 '스테이지'에 추가해야 합니다. 스테이지란 커밋 대상이 되는 파일을 무대에 올리는 것입니다. 이를 위해 git add [파일명]
명령어를 사용합니다. 'git add'란 대상 파일을 '스테이지'에 올리는 명령입니다. 변경 또는 생성된 모든 파일을 스테이지에 올릴 때는 '.'을 사용합니다. 'git add .'은 대기하고 있는 모든 파일을 스테이지에 올리는 것입니다.

커밋 실행
변경 사항을 저장하기 위해 커밋 전에 내용을 기록합니다. git commit -m "커밋 메시지"
명령어를 사용합니다. '-m'은 'message'의 머리글자입니다. 메시지를 잘 기록해야 시간이 지난 뒤에 커밋 내용을 확인할 수 있습니다. 물론 협업자도 변경 내용을 제대로 파악할 수 있게 됩니다. 커밋은 스테이지 내용을 기반으로 하기 때문에 '스테이지'에 대한 개념을 명료하게 정리해야 합니다.

커밋 명령 활용과 관련된 용어
- git commit: 커밋 생성 명령
- git status: 상태 확인
- working tree: 작업 폴더
- working tree clean: 작업 디렉터리에 커밋할 내용 없음
- git log: 커밋 로그, 히스토리 확인
- HEAD: 현재 작업 중인 브랜치
- origin/main: 원격 저장소
두 번째 커밋 사용하기
새로운 파일 커밋
새 파일(예: 01.pdf~04.pdf)을 추가하고 커밋하는 방법을 배웁니다. 예를 들어 git add .
와 같은 명령어를 사용할 수 있습니다.

커밋 메시지 작성의 중요성
커밋 메시지는 변경 사항을 명확하게 설명해야 합니다. 좋은 커밋 메시지는 협업에 있어 매우 중요합니다. 커밋 메시지 작성 규칙은 첫 줄에는 제목을 작성합니다. 두 번째 줄은 비워둡니다. 세 번째 줄은 본문을 작성하게 되어 있습니다. 제목은 반드시 기록해야 합니다.

커밋 메시지 작성 시 유의사항
- 메시지 내용은 간결하고 명확하게 작성
- 커밋의 내용은 되도록이면 자세하게 기록
- 커밋 생성 이유에 대한 부가 설명 추가
저장소 사용과 원격 저장소 연동
git push 명령어
로컬의 변경 사항을 원격 저장소에 업로드하기 위해 git push origin main
명령어를 사용합니다. 원격 저장소의 별명은 'origin'입니다. 현재 브랜치는 'main'입니다.

커밋 복구
하드 리셋 사용
잘못된 커밋을 되돌리기 위해 git reset --hard HEAD~2
명령어를 사용할 수 있습니다.

소스트리, GitHub Desktop 등 GUI 사용
GUI 도구를 사용하여 커밋을 취소하거나 변경 사항을 되돌릴 수 있습니다. CLI 도구로 행한 위의 내용을 그래픽 환경에서도 가능합니다.
'도서로 공부하는 프로그래밍 > GIT' 카테고리의 다른 글
[Git] Git 활용법: 특정 파일 확장자 커밋 제외하기 - .gitignore 설정 가이드 (27) | 2024.02.14 |
---|---|
[Git] 커밋(Commit)에 포함된 정보 (26) | 2024.02.13 |
[Git] 커밋에서 제외하고 싶은 파일 설정 (27) | 2024.02.12 |
[Git] GitHub과 Git의 중요성 (29) | 2024.02.11 |
[Git] 버전 관리 시스템의 진화, 로컬에서 분산형까지 (28) | 2024.02.10 |