Git 명령어 치트시트

가장完整的 Git 명령어参考手册, 분류별로整理되어快速으로查找 가능

전체: 65 个命令

기본 명령어(13)

git init

현재 디렉토리에 새로운 Git 저장소 생성

git clone <url>

원격 저장소를 로컬로 클론

git clone --depth=1 <url>

최신 커밋만 가져오는 얕은 클론

git add <file>

파일을 스테이징 영역에 추가

git add .

모든 변경 사항을 스테이징 영역에 추가

git commit -m "message"

스테이징된 변경 사항 커밋

git commit --amend

마지막 커밋 수정

git status

저장소 현재 상태 보기

git diff

스테이징되지 않은 변경 사항 보기

git diff --staged

스테이징된 변경 사항 보기

git config --list

모든 설정 보기

git config --global user.name "name"

전체 사용자 이름 설정

git config --global user.email "email"

전체 이메일 설정

브랜치 관리(14)

git branch

모든 로컬 브랜치 나열

git branch -a

모든 브랜치 나열 (원격 포함)

git branch <name>

새 브랜치 생성

git branch -d <name>

브랜치 삭제

git branch -m <old> <new>

브랜치 이름 변경

git checkout <branch>

브랜치 전환

git checkout -b <branch>

새 브랜치를 생성하고 전환

git switch <branch>

브랜치 전환 (Git 2.23+)

git switch -c <branch>

새 브랜치를 생성하고 전환 (Git 2.23+)

git merge <branch>

지정된 브랜치를 현재 브랜치에 병합

git merge --no-ff <branch>

브랜치를 병합하고 병합 커밋 생성

git rebase <branch>

현재 브랜치를 지정된 브랜치에 리베이스

git rebase --continue

충돌 해결 후 리베이스 계속

git cherry-pick <commit>

특정 커밋을 선택하여 현재 브랜치에 병합

원격 작업(10)

git remote -v

원격 저장소 정보 보기

git remote add <name> <url>

원격 저장소 추가

git fetch <remote>

원격 저장소의 최신 내용 가져오기

git fetch --all

모든 원격 저장소 업데이트 가져오기

git pull <remote> <branch>

원격 브랜치를 가져와 병합

git pull --rebase

가져온 후 리베이스

git push <remote> <branch>

원격 저장소에 푸시

git push -f

강제 푸시 (주의하여 사용)

git push -u origin <branch>

푸시하고 업스트림 브랜치 설정

git push origin --delete <branch>

원격 브랜치 삭제

되돌리기(8)

git reset <file>

파일 스테이징 해제

git reset --soft HEAD~1

최근 커밋 되돌리기, 변경 사항 유지

git reset --mixed HEAD~1

커밋과 스테이징 되돌리기, 작업 영역 유지

git reset --hard HEAD~1

커밋 되돌리고 모든 변경 사항 삭제

git revert <commit>

지정된 커밋 되돌리기 (새 커밋 생성)

git restore <file>

작업 영역 파일 복원 (Git 2.23+)

git restore --staged <file>

파일 스테이징 해제 (Git 2.23+)

git clean -fd

추적되지 않는 파일과 디렉토리 삭제

태그 관리(6)

git tag

모든 태그 나열

git tag <name>

가벼운 태그 생성

git tag -a <name> -m "msg"

주석 태그 생성

git tag -d <name>

로컬 태그 삭제

git push origin <tag>

태그를 원격에 푸시

git push --tags

모든 태그를 원격에 푸시

기록 보기(7)

git log

커밋 기록 보기

git log --oneline

커밋 기록을 간결하게 표시

git log --oneline --graph --all

모든 브랜치 기록을 그래프로 표시

git show <commit>

커밋 상세 정보 보기

git blame <file>

파일 각 줄의 수정 기록 보기

git reflog

모든 작업 기록 보기

git bisect start

이진 검색으로 문제 커밋 찾기 시작

보관(7)

git stash

현재 변경 사항 보관

git stash save "message"

메시지와 함께 변경 사항 보관

git stash list

모든 보관 보기

git stash pop

가장 최근 보관을 적용하고 삭제

git stash apply

가장 최근 보관을 적용하지만 삭제하지 않음

git stash drop

가장 최근 보관 삭제

git stash clear

모든 보관 삭제

Git이란?

Git은 Linus Torvalds가创建한分布式版本控制系统으로项目代码의版本历史를管理합니다.多人协作开发을支持하고每次代码修改를追踪할 수 있으며브랜치 관리와版本回退를支持합니다.

Git命令를掌握하는 것은每个开发者的必备技能입니다.本速查表은가장常用的 Git命令를功能별로整理하여快速으로查找하고学习할 수 있습니다.

사용 방법

任意命令卡片를 클릭하면该命令를 복사할 수 있습니다. 검색框을使用하여特定命令를快速으로查找할 수 있습니다. 分类标签를 클릭하여特定类别的命令를筛选查看할 수 있습니다.

常用技巧

git add 되돌리기
git restore --staged 또는 git reset을 사용하여 스테이징 해제
마지막 커밋 수정
git commit --amend를 사용하여 마지막 커밋의 메시지나 내용을 수정할 수 있습니다
작업 진행 보관
git stash를 사용하여 작업 진행을临时保存하고其他브랜치로切换하여紧急事务을处理하세요
푸시된 커밋 되돌리기
git reset이 아닌 git revert를 사용하여 원격 저장소 기록을破坏하지 않도록 합니다
파일 기록 보기
git log -p를 사용하여 파일의完整的 수정 기록을 확인하세요

자주 묻는 질문 (FAQ)

Q: git pull과 git fetch는 어떻게 다른가요?

A: git fetch는 원격 업데이트만 가져오고 자동으로 병합하지 않습니다. git pull은 git fetch + git merge와 동일합니다. 먼저 fetch로 업데이트를 확인한 후 병합 방법을 결정하는 것이 좋습니다.

Q: 마지막 커밋을 어떻게 되돌리나요?

A: git reset --soft HEAD~1을 사용하면 커밋을 되돌리되 변경 사항은 유지됩니다. git reset --hard HEAD~1을 사용하면完全히 되돌리고 변경 사항을 삭제합니다. 이미 푸시된 경우 git revert를 사용하는 것이更安全합니다.

Q: 병합 충돌을 어떻게 해결하나요?

A: 충돌한 파일을手动로编辑하여保留할内容을선택한后 git add로标记하고最后에 git commit하여 병합을完成합니다. git mergetool을使用하면可视化로 충돌을解决할 수 있습니다.

Q: git merge와 git rebase는 어떻게 다른가요?

A: merge는合并 커밋을생성하여 브랜치 기록을保留합니다. rebase는커밋을目标브랜치의末端으로 이동시켜 기록을更线性하게 만듭니다. 公共브랜치에는 merge를, 로컬 브랜치에는 rebase를使用하는 것이 좋습니다.

Q: 커밋된大文件을如何删除하나요?

A: git filter-branch 또는 BFG Repo-Cleaner를使用하세요.注意: 이操作은历史를改写하므로强制推送이 필요합니다.