#초기 설정
| 명령어 | 설명 | |
|---|---|---|
git config --global user.name "[name]" | 사용자 이름 설정 | |
git config --global user.email "[email]" | 이메일 설정 | |
git config --list | 설정 확인 | |
git init | 새 저장소 생성 | |
git clone [url] | 원격 저장소 복제 |
#기본 명령어
| 명령어 | 설명 | |
|---|---|---|
git status | 상태 확인 | |
git add [file] | 파일 스테이징 | |
git add . | 모든 변경사항 스테이징 | |
git commit -m "[message]" | 커밋 생성 | |
git commit -am "[message]" | 스테이징 + 커밋 한번에 | |
git push | 원격에 푸시 | |
git pull | 원격에서 가져오기 | |
git fetch | 원격 변경사항 확인 (병합 X) |
#브랜치
| 명령어 | 설명 | |
|---|---|---|
git branch | 브랜치 목록 | |
git branch [name] | 새 브랜치 생성 | |
git checkout [branch] | 브랜치 전환 | |
git checkout -b [name] | 생성 + 전환 | |
git switch [branch] | 브랜치 전환 (신규) | |
git switch -c [name] | 생성 + 전환 (신규) | |
git merge [branch] | 브랜치 병합 | |
git branch -d [name] | 브랜치 삭제 | |
git branch -D [name] | 강제 삭제 |
#히스토리
| 명령어 | 설명 | |
|---|---|---|
git log | 커밋 히스토리 | |
git log --oneline | 한 줄로 보기 | |
git log --graph | 그래프로 보기 | |
git log -p | 변경 내용 포함 | |
git show [commit] | 커밋 상세 보기 | |
git diff | 변경사항 비교 | |
git diff --staged | 스테이징된 변경사항 | |
git blame [file] | 라인별 작성자 확인 |
#되돌리기
| 명령어 | 설명 | |
|---|---|---|
git restore [file] | 파일 변경 취소 | |
git restore --staged [file] | 스테이징 취소 | |
git reset HEAD~1 | 마지막 커밋 취소 (변경 유지) | |
git reset --hard HEAD~1 | 마지막 커밋 완전 삭제 | |
git revert [commit] | 커밋 되돌리기 (새 커밋) | |
git clean -fd | 추적되지 않는 파일 삭제 |
#스태시
| 명령어 | 설명 | |
|---|---|---|
git stash | 변경사항 임시 저장 | |
git stash save "[message]" | 메시지와 함께 저장 | |
git stash list | 스태시 목록 | |
git stash pop | 최근 스태시 적용 + 삭제 | |
git stash apply | 스태시 적용 (유지) | |
git stash drop | 스태시 삭제 | |
git stash clear | 모든 스태시 삭제 |
#원격 저장소
| 명령어 | 설명 | |
|---|---|---|
git remote -v | 원격 저장소 목록 | |
git remote add [name] [url] | 원격 저장소 추가 | |
git remote remove [name] | 원격 저장소 삭제 | |
git push -u origin [branch] | 업스트림 설정 + 푸시 | |
git push origin --delete [branch] | 원격 브랜치 삭제 |
#태그
| 명령어 | 설명 | |
|---|---|---|
git tag | 태그 목록 | |
git tag [name] | 태그 생성 | |
git tag -a [name] -m "[msg]" | 주석 태그 생성 | |
git push origin [tag] | 태그 푸시 | |
git push origin --tags | 모든 태그 푸시 |
#고급
| 명령어 | 설명 | |
|---|---|---|
git rebase [branch] | 리베이스 | |
git rebase -i HEAD~[n] | 대화형 리베이스 | |
git cherry-pick [commit] | 특정 커밋 가져오기 | |
git bisect start | 이진 탐색 시작 | |
git reflog | HEAD 변경 기록 | |
git submodule add [url] | 서브모듈 추가 |
#자주 묻는 질문 (FAQ)
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.