Git
기본
| 명령어 | 설명 |
|---|---|
git init |
로컬 저장소 초기화 |
git clone <url> |
원격 저장소 복제 |
git status |
작업 트리 상태 확인 |
git log --oneline |
커밋 히스토리 간략히 보기 |
스테이징 & 커밋
| 명령어 | 설명 |
|---|---|
git add <파일> |
특정 파일 스테이징 |
git add -p |
변경사항을 hunk 단위로 선택적 스테이징 |
git commit -m "<메시지>" |
커밋 |
git diff |
unstaged 변경사항 확인 |
git diff --staged |
staged 변경사항 확인 |
브랜치
| 명령어 | 설명 |
|---|---|
git branch |
브랜치 목록 |
git branch <이름> |
브랜치 생성 |
git switch <이름> |
브랜치 전환 |
git switch -c <이름> |
브랜치 생성 후 전환 |
git branch -d <이름> |
브랜치 삭제 (병합된 것만) |
git merge <브랜치> |
현재 브랜치에 병합 |
원격
| 명령어 | 설명 |
|---|---|
git remote -v |
원격 저장소 목록 |
git remote add <이름> <url> |
원격 저장소 추가 |
git fetch |
원격 변경사항 가져오기 (병합 안 함) |
git pull |
fetch + merge |
git push -u origin <브랜치> |
최초 push (upstream 설정) |
git push |
이후 push |
되돌리기
| 명령어 | 설명 |
|---|---|
git restore <파일> |
unstaged 변경사항 되돌리기 |
git restore --staged <파일> |
스테이징 취소 |
git revert <커밋> |
특정 커밋을 되돌리는 새 커밋 생성 |
임시 저장
| 명령어 | 설명 |
|---|---|
git stash |
현재 변경사항 임시 저장 |
git stash pop |
가장 최근 stash 꺼내기 |
git stash list |
stash 목록 |
유용한 옵션
| 명령어 | 설명 |
|---|---|
git log --oneline --graph --all |
브랜치 흐름 시각화 |
git blame <파일> |
줄별 마지막 수정 커밋/작성자 확인 |
git cherry-pick <커밋> |
특정 커밋만 현재 브랜치에 적용 |
git shortlog -sn |
기여자별 커밋 수 |