Git Cheatsheet
Overview
섹션 제목: “Overview”Git에서 자주 쓰는 상태 확인, 이력 조회, 브랜치 관리, push, remote 관련 명령어를 빠르게 다시 보기 위한 문서다.
Common Commands
섹션 제목: “Common Commands”1) 현재 상태 확인
섹션 제목: “1) 현재 상태 확인”- 목적: 현재 브랜치, 작업 파일 상태, 원격과의 차이 확인
- 명령어:
git status- 메모:
- 현재 브랜치, 스테이징 상태, pull/push 필요 여부를 함께 볼 수 있다.
2) 최근 이력 확인
섹션 제목: “2) 최근 이력 확인”- 목적: 최근 커밋 정보 확인
- 명령어:
git log -1- 메모:
- 마지막 커밋의 작성자, 시각, 메시지, 리비전을 확인할 때 유용하다.
3) 원격 저장소로 push
섹션 제목: “3) 원격 저장소로 push”- 목적: 로컬 커밋을 원격 저장소로 전송
- 명령어:
git push origin feature/examplegit push -f origin feature/example- 메모:
-f: 강제 push는 영향 범위를 확인하고 사용한다.
4) 저장소 clone
섹션 제목: “4) 저장소 clone”- 목적: 원격 저장소를 로컬에 복제
- 명령어:
git clone ${SSH_URL}- 메모:
- 보통 SSH URL 기준으로 많이 사용한다.
5) 브랜치 목록 확인
섹션 제목: “5) 브랜치 목록 확인”- 목적: 로컬/원격 브랜치 확인
- 명령어:
git branchgit branch -agit branch -rgit branch --show-currentgit rev-parse HEAD- 메모:
git branch는 로컬 브랜치 목록만 보여준다.git branch -a는 로컬과 원격 추적 브랜치를 모두 보여준다.git branch -r는 원격 브랜치만 보여준다.git branch --show-current는 현재 체크아웃된 브랜치 이름만 출력한다.git rev-parse HEAD는 현재 HEAD 커밋 해시를 출력한다.
6) 브랜치 생성 및 전환
섹션 제목: “6) 브랜치 생성 및 전환”- 목적: 새 브랜치 생성과 전환
- 명령어:
git branch ${NEW_BRANCH_NAME}git checkout -b ${NEW_BRANCH_NAME}git checkout ${BRANCH_NAME}- 메모:
checkout -b는 생성과 전환을 한 번에 처리한다.
7) 브랜치 삭제
섹션 제목: “7) 브랜치 삭제”- 목적: 로컬/원격 브랜치 삭제
- 명령어:
git push origin --delete ${BRANCH_NAME}git branch -d ${BRANCH_NAME}git branch -D ${BRANCH_NAME}- 메모:
-d는 merge 된 브랜치만 안전하게 삭제한다.-D는 merge 여부와 관계없이 강제로 삭제한다.
8) remote 저장소 확인
섹션 제목: “8) remote 저장소 확인”- 목적: 현재 remote URL 확인
- 명령어:
git remote -vgit config --get remote.origin.url- 메모:
git remote -v는 fetch/push URL을 같이 보여준다.
9) remote URL 변경
섹션 제목: “9) remote URL 변경”- 목적: 기존 remote 이름은 유지한 채 URL만 변경
- 명령어:
git remote set-url origin git@gitlab.com:projects/sample2/ABCDE-service.git- 메모:
- 사내 Git 서버 이전이나 저장소 주소 변경 시 자주 쓴다.
Examples
섹션 제목: “Examples”1) 현재 상태와 최근 이력 같이 보기
섹션 제목: “1) 현재 상태와 최근 이력 같이 보기”git statusgit log -12) 새 브랜치 생성 후 push
섹션 제목: “2) 새 브랜치 생성 후 push”git checkout -b feature/examplegit push origin feature/example3) remote URL 확인 후 변경
섹션 제목: “3) remote URL 확인 후 변경”git remote -vgit remote set-url origin git@gitlab.com:projects/sample2/ABCDE-service.gitgit remote -vNotes
섹션 제목: “Notes”1) status와 remote -v는 자주 같이 본다
섹션 제목: “1) status와 remote -v는 자주 같이 본다”- 현재 작업 상태
- 현재 브랜치
- remote URL
을 같이 확인하면 실수를 줄일 수 있다.
2) 강제 옵션은 신중하게 사용
섹션 제목: “2) 강제 옵션은 신중하게 사용”git push -fgit branch -D
는 영향 범위가 크므로 실행 전에 대상 브랜치를 다시 확인한다.