Git 입문 가이드 (설치부터 일상 사용까지)
강의를 진행하면서 Git 사용법 질문을 많이 받았습니다. 그래서 비개발자 수강생 기준으로, 설치 확인부터 매일 쓰는 명령까지 한 장에 정리했습니다.
Git을 한 줄로 정의하면 "작업 폴더의 시간을 되돌릴 수 있게 해주는 기록장" 입니다. 파일을 저장할 때마다 스냅샷이 쌓이고, 언제든 과거 시점으로 돌아갈 수 있습니다. 에이전트(Codex·헤르메스)에게 일을 시키는 우리 강의에서는 의미가 하나 더 있습니다. 에이전트가 파일을 수정하다가 잘못된 방향으로 가도, Git 기록이 있으면 그 직전으로 안전하게 되돌릴 수 있습니다.
💡 사전 요구사항: 설치 자체는 OS별 가이드가 따로 있습니다. 윈도우는 Git 설치 가이드 (Windows), 맥은 Mac 유저 환경 준비 가이드의 3단계를 따라주세요. 이 가이드는 설치 확인부터 시작합니다.
1단계. 설치 확인
터미널을 열고 아래를 실행합니다.
git --version
git version 2.x.x 같은 버전 번호가 나오면 설치된 것입니다.
"command not found"가 나오면 위 사전 요구사항의 OS별 가이드로 먼저 설치해 주세요.
2단계. 최초 설정 (딱 한 번)
Git은 기록을 남길 때마다 "누가 했는지"를 함께 적습니다. 그래서 처음 한 번만 이름과 이메일을 등록해 줍니다.
git config --global user.name "본인 이름 또는 닉네임"
git config --global user.email "본인 이메일"
git config --global init.defaultBranch main
이메일은 GitHub 가입에 쓴 주소와 같게 하는 것을 추천합니다. 나중에 GitHub에 올렸을 때 내 활동으로 깔끔하게 연결됩니다. 설정이 잘 들어갔는지는 아래로 확인합니다.
git config --list
3단계. 머릿속에 그림 한 장
Git 명령이 헷갈리는 이유는 단계가 세 칸으로 나뉘어 있기 때문입니다. 이 그림 하나만 기억하시면 됩니다.
[작업 폴더] --(git add)--> [장바구니(스테이지)] --(git commit)--> [기록 보관함]
파일을 수정하는 곳 이번에 기록할 것만 담는 곳 스냅샷이 영구 저장되는 곳
- git add 는 "이번 기록에 포함할 파일을 장바구니에 담기"입니다.
- git commit 은 "장바구니에 담긴 것을 메모와 함께 사진 찍어 보관"입니다.
- 보관함에 들어간 스냅샷은 언제든 다시 꺼내볼 수 있습니다.
4단계. 첫 저장소 만들기
연습용 폴더를 하나 만들어 시작해 봅니다.
mkdir git-practice
cd git-practice
git init
Initialized empty Git repository ... 가 나오면 이 폴더가 Git의 관리 대상이 된 것입니다.
현재 상태는 언제든 아래로 확인합니다.
git status
💡
git status는 아무것도 바꾸지 않는 안전한 명령입니다. 헷갈릴 때마다 습관처럼 실행하세요. 지금 어느 칸에 무엇이 있는지 Git이 친절하게 알려줍니다.
5단계. 저장 루틴, 매일 쓰는 세 줄
파일을 만들거나 고친 뒤의 기본 루틴입니다.
git status
git add .
git commit -m "무엇을 했는지 한 줄"
git add .의 점(.)은 "변경된 파일 전부"라는 뜻입니다. 특정 파일만 담으려면git add 파일명으로 씁니다.- 커밋 메시지는 미래의 나에게 보내는 메모입니다. "수정"보다 "랜딩 페이지 제목 문구 변경"처럼 쓰면 나중에 찾기 쉽습니다.
이 세 줄이 Git 사용의 80%입니다. 하루 작업을 마칠 때, 또는 에이전트에게 큰 작업을 시키기 직전에 한 번씩 돌려두세요.
6단계. 기록 보기
git log --oneline
커밋이 한 줄씩 최신순으로 나옵니다.
앞의 영문·숫자 조합(예: a1b2c3d)이 각 스냅샷의 이름표입니다.
저장 전에 무엇이 바뀌었는지 보려면 아래를 씁니다.
git diff
💡 에이전트에게 작업을 시킨 뒤
git diff로 "에이전트가 뭘 고쳤는지"를 눈으로 확인하는 습관이 좋습니다. 검토하고 마음에 들면 커밋, 아니면 다음 단계의 되돌리기를 쓰면 됩니다.
7단계. 되돌리기, 상황별 처방
되돌리기는 상황에 따라 명령이 다릅니다. 세 가지면 충분합니다.
상황 A. 파일을 고쳤는데 마음에 안 들어요 (아직 add 전)
git restore 파일명
마지막 커밋 시점의 내용으로 그 파일이 돌아옵니다.
상황 B. add 까지 했는데 장바구니에서 빼고 싶어요
git restore --staged 파일명
장바구니에서만 빠지고 파일 내용은 그대로 남습니다.
상황 C. 커밋까지 했는데 그 커밋을 취소하고 싶어요
git revert HEAD
마지막 커밋을 "거꾸로 적용한 새 커밋"이 만들어집니다. 기록이 지워지는 게 아니라 취소했다는 기록이 추가되는 방식이라 가장 안전합니다.
⚠️ 인터넷 검색에 자주 나오는
git reset --hard는 기록을 실제로 지우는 명령입니다. 익숙해지기 전에는 쓰지 않는 것을 권합니다. 위 세 가지로 거의 모든 상황이 해결됩니다.
8단계. GitHub에 올리기
여기까지는 모두 내 컴퓨터 안에서의 일입니다. GitHub에 올리면 백업과 공유가 됩니다. GitHub 계정이 아직 없다면 GitHub 가입 가이드를 먼저 따라주세요.
GitHub CLI(gh)로 로그인되어 있다면 두 줄이면 끝납니다.
gh auth login
gh repo create git-practice --private --source=. --push
첫 줄은 브라우저로 GitHub 로그인을 연결하고(이미 했다면 생략), 둘째 줄은 비공개 저장소를 만들어 현재 폴더를 통째로 올립니다. 이후 새 커밋을 올릴 때는 한 줄입니다.
git push
9단계. 가져오기
반대로 GitHub에 있는 저장소를 내 컴퓨터로 가져올 때는 clone, 이미 가져온 저장소의 최신 내용을 당겨올 때는 pull 입니다.
git clone https://github.com/계정명/저장소명.git
git pull
강의 실습 자료나 다른 사람의 공개 저장소를 받을 때 clone 한 줄이면 됩니다.
Git 한 장 (빠른 참조)
git --version # 설치 확인
git init # 이 폴더를 Git 관리 대상으로
git status # 지금 상태 확인 (안전)
git add . # 변경 전부를 장바구니에
git commit -m "한 줄 메모" # 스냅샷 저장
git log --oneline # 기록 목록
git diff # 무엇이 바뀌었나
git restore 파일명 # 수정 취소 (add 전)
git restore --staged 파일명 # 장바구니에서 빼기
git revert HEAD # 마지막 커밋 취소 (안전)
git push # GitHub에 올리기
git pull # GitHub에서 당겨오기
git clone 주소 # 저장소 통째로 가져오기
자주 만나는 문제
A. "fatal: not a git repository" 가 나와요
원인: 지금 있는 폴더가 Git 관리 대상이 아닙니다.
해결: cd 로 저장소 폴더에 들어갔는지 확인하세요. 새 폴더라면 git init 을 먼저 실행합니다.
B. "Please tell me who you are" 가 나와요
원인: 2단계의 이름·이메일 최초 설정이 안 된 상태입니다.
해결: 2단계의 git config --global 두 줄을 실행하고 다시 커밋하세요.
C. "nothing to commit, working tree clean" 이 나와요
원인: 오류가 아닙니다. 마지막 커밋 이후 바뀐 게 없다는 정상 안내입니다.
해결: 파일을 저장(파일 자체의 저장)했는지 확인하고, git status 로 변경 감지 여부를 보세요.
D. push 할 때 인증 오류가 나요
원인: GitHub 로그인 연결이 안 되어 있거나 만료된 상태입니다.
해결: gh auth login 을 실행해 브라우저로 다시 로그인한 뒤 push 하세요.
E. git log 에서 한글 파일명이 이상한 숫자로 보여요
원인: Git이 한글 파일명을 기본적으로 escape해서 보여주는 동작입니다.
해결: 아래 한 줄을 실행하면 한글이 그대로 보입니다.
git config --global core.quotepath false
마무리, 세 줄 루틴만 기억하세요
status, add, commit 세 줄 루틴이 몸에 붙으면 Git의 나머지는 필요할 때 찾아 쓰면 됩니다. 특히 에이전트에게 큰 작업을 시키기 전의 커밋 한 번이 가장 든든한 보험입니다. 다음 단계가 궁금하시면 브랜치(작업 갈래 나누기)를 검색해 보셔도 좋지만, 이 강의 범위에서는 위 내용으로 충분합니다.
진행하시다가 막히는 부분이 생기면 언제든 인프런 질문 게시판에 화면 캡처와 함께 질문 남겨주세요. 다른 수강생분들도 함께 참고할 수 있어 더 좋습니다.
