Git

1강 — 혼자 쓰는 Git

슬라이드 보는 법

→ / Space다음으로
이전으로
↓ / ↑같은 주제 안에서 단계 이동
O전체 슬라이드 한눈에 보기
F전체화면

아래쪽 화살표가 보이면 그 주제는 단계별로 이어집니다

오늘 끝나면 할 수 있는 것

  • 변경 이력을 남긴다
  • 언제 무엇이 바뀌었는지 찾아본다
  • 잘못 고친 것을 되돌린다
  • 올리면 안 되는 파일을 걸러낸다

Git이란?

Git 로고

Git이란? 이런 적 있죠

            
              과제.hwp
              과제_수정.hwp
              과제_최종.hwp
              과제_진짜최종.hwp
              과제_진짜최종_2.hwp
            
          
뭐가 최신인지 모른다
뭘 고쳤는지 모른다
되돌릴 수 없다

여기서 되돌리고 싶으면 어떻게 할까요?

Git이란?

파일이 언제 · 누가 · 왜
바뀌었는지 기록해주는 도구

Git이란? GitHub과 구분

Git

내 컴퓨터의 기록 도구

프로그램
GitHub

그 기록을 올려두는 곳

웹사이트

둘은 다른 것입니다. GitHub은 2강에서

오늘 배울 것

  • 1. 시작하기
  • 2. 세 개의 영역
  • 3. 기록 살펴보기
  • 4. 되돌리기
  • 5. .gitignore
  • 6. 좋은 커밋

1. 시작하기

Git을 쓰려면

1. 시작하기 확인

            
              git --version
            
          
git version 2.43.0

1. 시작하기 설정

            
              git config --global user.name "홍길동"
              git config --global user.email "me@example.com"
            
          
커밋에 남을 이름과 메일
처음 한 번만 하면 된다

1. 시작하기 저장소 만들기

            
              cd my-project
              git init
            
          
Initialized empty Git repository
.git 폴더가 생긴다

2. 세 개의 영역

Git이 파일을 다루는 방식

2. 세 개의 영역

작업 폴더

지금 고치는 곳git add

스테이징

커밋할 것만 골라둠git commit

저장소

기록으로 남음

2. 세 개의 영역 status

            
              git status
            
          
Untracked files:
index.html
style.css

2. 세 개의 영역 add

            
              git add index.html
              git status
            
          
Changes to be committed:
new file: index.html

2. 세 개의 영역 add .

            
              git add .
            
          
바뀐 것 전부 담기

2. 세 개의 영역 commit

            
              git commit -m "첫 화면 만들기"
            
          
[main a1b2c3d] 첫 화면 만들기
2 files changed, 40 insertions(+)

2. 정리

  • git status — 막히면 이것부터
  • git add — 기록할 것 고르기
  • git commit -m "..." — 기록하기

3. 기록 살펴보기

뭐가 바뀌었는지 보려면

3. 기록 살펴보기 log

            
              git log --oneline
            
          
a1b2c3d (HEAD -> main) 로그인 추가 e4f5g6h 헤더 스타일 수정 i7j8k9l 첫 화면 만들기

3. 기록 살펴보기 diff

            
              git diff
            
          
- <h1>안녕</h1>
+ <h1>안녕하세요</h1>

3. 정리

git status지금 상태
git log --oneline지금까지의 기록
git diff아직 add 안 한 변경
git diff --stagedadd 한 변경

4. 되돌리기

잘못 고쳤을 때

4. 되돌리기 작업 폴더

            
              git restore index.html
            
          
마지막 커밋 상태로 되돌린다
고친 내용은 사라진다

4. 되돌리기 스테이징

            
              git restore --staged index.html
            
          
add 를 취소한다
고친 내용은 그대로 남는다

4. 되돌리기 커밋 메시지

            
              git commit --amend -m "메시지 다시"
            
          
마지막 커밋 메시지를 고친다

4. 되돌리기 revert

            
              git revert a1b2c3d
            
          
x9y8z7w (HEAD -> main) Revert "로그인 추가" a1b2c3d 로그인 추가 e4f5g6h 헤더 스타일 수정

4. 되돌리기 reset vs revert

reset

기록을 지운다

혼자일 때만
revert

되돌리는 커밋을 추가

함께 쓸 때

5. .gitignore

올리면 안 되는 파일을 거르려면

5. .gitignore

            .gitignore
            
              node_modules
              dist
              .env
              .DS_Store
            
          
여기 적힌 것은
Git이 아예 무시한다

5. 정리

  • .env — API 키가 들어 있다. 절대 올리지 않는다
  • node_modules — 용량만 크고 다시 받으면 된다
  • 이미 올린 뒤에 추가하면 안 먹는다

6. 좋은 커밋

나중의 나를 위해

6. 좋은 커밋 메시지

나쁨

수정
ㅁㄴㅇㄹ
일단 커밋

뭘 했는지 모른다
좋음

로그인 버튼 추가
목록 정렬 오류 수정

읽으면 안다

6. 정리

  • 한 커밋에 한 가지 일
  • 무엇을 했는지 한 줄로 적는다
  • 동작하는 상태에서 커밋한다
  • 자주 한다. 하루에 한 번은 너무 드물다

정리

오늘 배운 것

한눈에

git init저장소 만들기
git status막히면 이것부터
git add기록할 것 고르기
git commit -m기록하기
git log --oneline기록 보기
git diff뭐가 바뀌었는지
git restore되돌리기
git revert되돌리는 커밋 추가
.gitignore올리지 않을 파일

실습

직접 해봅시다

실습 과제

  1. HTML 강의 실습 폴더에 git init
  2. .gitignore 만들기
  3. 커밋 세 번 하기 — 한 번에 한 가지씩
  4. git log 로 확인하고 하나 revert 해보기

더 볼 것

2강에서는 같이 씁니다