반응형
SMALL
소개
안녕하세요! 이 가이드에서는 Git의 모든 중요 명령어를 실무 활용 방법과 함께 자세히 알아보겠습니다. 초보자부터 전문가까지 모두가 사용할 수 있는 완벽한 Git 명령어 모음입니다.
목차
- 시작하기
- 기본 명령어
- 브랜치와 병합
- 원격 저장소 작업
- 고급 명령어
- Git 설정
- 문제 해결 명령어
- 전문가 팁
1. 시작하기 🌱
저장소 초기화
# 새로운 git 저장소 만들기
git init
# 기존 저장소 복제하기
git clone <저장소-URL>
git clone <저장소-URL> <디렉토리-이름>
2. 기본 명령어 📝
변경사항 추적
# 저장소 상태 확인
git status
# 파일을 스테이징 영역에 추가
git add <파일이름> # 특정 파일 추가
git add . # 모든 파일 추가
git add *.js # 모든 JavaScript 파일 추가
git add -p # 대화형으로 변경사항 추가
# 변경사항 커밋
git commit -m "커밋 메시지"
git commit -am "메시지" # 추적 중인 파일 추가 및 커밋
이력 확인
# 커밋 이력 보기
git log # 전체 이력
git log --oneline # 간단한 이력
git log --graph # 그래픽으로 보기
git log -p # 패치와 함께 보기
git log --author="이름" # 특정 작성자의 커밋만 보기
# 변경사항 확인
git diff # 작업 디렉토리와 스테이징 비교
git diff --staged # 스테이징과 마지막 커밋 비교
git diff HEAD # 작업 디렉토리와 마지막 커밋 비교
3. 브랜치와 병합 🌿
브랜치 관리
# 브랜치 목록 보기
git branch # 로컬 브랜치
git branch -r # 원격 브랜치
git branch -a # 모든 브랜치
# 브랜치 생성
git branch <브랜치-이름>
git checkout -b <브랜치-이름> # 생성하고 전환
git switch -c <브랜치-이름> # 최신 방식으로 생성 및 전환
# 브랜치 전환
git checkout <브랜치-이름>
git switch <브랜치-이름> # 최신 방식
# 브랜치 삭제
git branch -d <브랜치-이름> # 안전하게 삭제
git branch -D <브랜치-이름> # 강제 삭제
병합하기
# 브랜치 병합
git merge <브랜치-이름>
git merge --no-ff <브랜치-이름> # 항상 병합 커밋 생성
# 충돌 처리
git merge --abort # 병합 취소
git reset --merge # 병합 전 상태로 되돌리기
# 리베이스
git rebase <브랜치-이름>
git rebase -i HEAD~3 # 대화형 리베이스
4. 원격 저장소 작업 🌐
원격 저장소 관리
# 원격 저장소 보기
git remote -v
# 원격 저장소 추가
git remote add <이름> <URL>
# 원격 저장소 삭제
git remote remove <이름>
# 변경사항 가져오기
git fetch <원격저장소>
git fetch --all
# 변경사항 가져와 병합하기
git pull <원격저장소> <브랜치>
git pull --rebase # 리베이스로 가져오기
# 변경사항 보내기
git push <원격저장소> <브랜치>
git push -u origin <브랜치> # 업스트림 설정
git push --force-with-lease # 안전한 강제 푸시
5. 고급 명령어 🔧
임시 저장 (Stash)
# 변경사항 임시 저장
git stash
git stash save "메시지"
git stash push -m "메시지"
# 임시 저장 목록
git stash list
# 임시 저장 적용
git stash apply # 유지하며 적용
git stash pop # 적용 후 삭제
git stash drop stash@{0} # 특정 stash 삭제
git stash clear # 모든 stash 삭제
태그 관리
# 태그 생성
git tag <태그-이름>
git tag -a <태그-이름> -m "메시지"
# 태그 목록
git tag
git tag -l "v1.*" # 태그 필터링
# 태그 푸시
git push origin <태그-이름>
git push origin --tags
6. Git 설정 ⚙️
사용자 설정
# 사용자 정보 설정
git config --global user.name "이름"
git config --global user.email "이메일@example.com"
# 기본 에디터 설정
git config --global core.editor "code --wait"
# 설정 확인
git config --list
git config --global --list
별칭 설정
# 유용한 별칭 만들기
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.lg "log --oneline --graph"
7. 문제 해결 명령어 🔍
디버깅
# 파일의 커밋 이력 보기
git blame <파일>
# 버그 찾기
git bisect start
git bisect bad # 현재 버전이 잘못됨
git bisect good v1.0 # v1.0은 정상이었음
git bisect reset # bisect 모드 종료
# 저장소 청소
git clean -n # 삭제될 파일 보기
git clean -f # 추적되지 않는 파일 강제 삭제
git clean -fd # 디렉토리까지 삭제
8. 실무 팁 💡
효율적인 작업 흐름
# 마지막 커밋 수정
git commit --amend # 마지막 커밋 수정
git commit --amend --no-edit # 마지막 커밋에 추가
# 특정 커밋 가져오기
git cherry-pick <커밋-해시> # 특정 커밋 적용
# 참조 이력
git reflog # 참조 이력 보기
# 작업 트리
git worktree add ../경로 브랜치 # 작업 복사본 생성
자주 쓰는 명령어 모음 📋
일상적인 명령어
git status # 상태 확인
git add . # 모든 변경사항 스테이징
git commit -m "메시지" # 변경사항 커밋
git pull # 저장소 업데이트
git push # 변경사항 업로드
브랜치 작업
git checkout -b 기능 # 기능 브랜치 생성
git merge 기능 # 기능 브랜치 병합
git branch -d 기능 # 브랜치 삭제
실무 베스트 프랙티스 🎯
- 커밋 메시지 작성법
- 현재 시제 사용
- 명확한 설명
- 제목은 50자 이내
- 필요시 본문 추가
- 브랜치 전략
- main/master: 안정된 코드
- develop: 통합 브랜치
- feature/: 새로운 기능
- hotfix/: 긴급 수정
- 일상적인 작업
- push 전에 항상 pull
- 커밋 전 변경사항 검토
- 작은 단위로 커밋
- 의미 있는 브랜치 이름 사용
결론
이 치트시트를 통해 Git의 주요 명령어들을 실무에서 바로 활용할 수 있습니다. 정기적으로 사용하면서 실력을 키워보세요!
반응형
LIST