본문으로 건너뛰기
SDETRole
SDETRole

학습 / 치트 시트

테스터를 위한 Git 치트 시트

개발자와 함께 테스트 프레임워크를 작업할 때 테스터에게 필요한 Git 명령어입니다. 브랜치를 만들고, 커밋하고, main의 변경을 따라가고, 작업을 잃지 않고 실수를 되돌리고, 버그를 만든 커밋을 찾아냅니다. 작업 내용을 버리는 명령어는 따로 표시했습니다.

Git 2.40 이상 기준으로 검증

초기 설정

작업코드
사용자 정보
git config --global user.name "Mei Lin"
git config --global user.email "mei@example.com"
기본 브랜치 이름 git config --global init.defaultBranch main
저장소 클론 git clone https://github.com/org/tests.git
pull 시 기본으로 rebase git config --global pull.rebase true

일상 작업

작업코드
무엇이 바뀌었나? git status
현재 위치에서 새 브랜치 만들기 git switch -c fix/login-flaky-wait
파일 스테이징 git add tests/login.spec.ts
파일 일부만 스테이징 git add -p
커밋 git commit -m "Wait for login response instead of sleep"
새 브랜치 푸시 git push -u origin fix/login-flaky-wait
최신 변경 사항 가져오기 git pull
브랜치 전환 git switch main

살펴보기

작업코드
간결한 히스토리 git log --oneline --graph --decorate -20
파일 하나의 히스토리 git log --follow -p -- tests/login.spec.ts
스테이징 안 된 변경 사항 git diff
스테이징된 변경 사항 git diff --staged
내 브랜치와 main 비교 git diff main...HEAD
커밋 하나 보기 git show 3f2a9c1
이 줄을 누가 바꿨나 git blame -L 20,40 tests/login.spec.ts
모든 브랜치 git branch -a

main 따라가기

작업코드
파일은 그대로 두고 내려받기 git fetch origin
내 커밋을 main 위에 다시 적용 git rebase origin/main
또는 main을 내 브랜치에 병합 git merge origin/main
충돌을 해결한 뒤 git add <file> then git rebase --continue
rebase 중단 git rebase --abort
rebase한 브랜치를 안전하게 푸시 git push --force-with-lease
커밋 하나를 이 브랜치로 복사 git cherry-pick 3f2a9c1

자신의 브랜치만 rebase하세요. --force-with-lease는 다른 사람이 푸시한 커밋을 덮어쓰지 않도록 거부합니다.

되돌리기

상황명령어
파일 수정 내용 버리기 (내용이 사라짐) git restore tests/login.spec.ts
스테이징만 취소하고 수정 내용은 유지 git restore --staged tests/login.spec.ts
마지막 커밋 메시지 수정 또는 파일 추가 git commit --amend
마지막 커밋 취소, 변경 사항은 스테이징 상태로 유지 git reset --soft HEAD~1
푸시한 커밋 되돌리기 (새 커밋 추가) git revert 3f2a9c1
로컬 변경 사항 모두 버리기 (내용이 사라짐) git reset --hard HEAD
"잃어버린" 커밋 찾기 git reflog

공유 브랜치에서는 revert를 쓰세요. reset과 amend는 히스토리를 다시 쓰기 때문에 다른 사람들이 모두 자기 복사본을 고쳐야 합니다.

작업 임시 보관

작업코드
변경 사항 stash git stash push -m "half-done locator refactor"
추적되지 않는 파일도 포함 git stash push -u
stash 목록 git stash list
최신 stash 적용 후 삭제 git stash pop

문제를 일으킨 커밋 찾기

작업코드
시작 git bisect start
현재 커밋을 bad로 표시 git bisect bad
정상으로 알려진 커밋을 good으로 표시 git bisect good v2.3.0
각 단계를 테스트가 판정하게 하기 git bisect run npx playwright test tests/checkout.spec.ts
종료하고 원래 상태로 복귀 git bisect reset

bisect run은 종료 코드 0을 good, 1–127을 bad로 처리합니다(125는 해당 커밋을 건너뜀).

실습과 심화 학습

다른 치트 시트

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →