티스토리 뷰
반응형
Git은 코드 버전 관리를 위한 필수 도구이며, 효율적으로 사용하려면 자주 사용하는 명령어를 익혀야 합니다.
아래는 Git에서 자주 사용하는 명령어를 카테고리별로 정리한 목록입니다.
🔹 1. Git 기본 설정
Git을 처음 설정할 때 사용되는 명령어들입니다.
git config --global user.name "사용자이름" # 사용자 이름 설정
git config --global user.email "이메일주소" # 사용자 이메일 설정
git config --global core.editor "vim" # 기본 에디터 설정 (vim, nano, code 등)
git config --global color.ui auto # Git 명령어 출력 색상 활성화
git config --list # 설정값 확인
🔹 2. Git 저장소 초기화 및 클론
Git 저장소를 새로 만들거나 기존 저장소를 복제할 때 사용합니다.
git init # 현재 디렉토리를 Git 저장소로 초기화
git clone <URL> # 원격 저장소를 로컬로 복제
git clone <URL> <폴더명> # 지정된 폴더명으로 저장소 복제
🔹 3. Git 상태 확인 및 로그 조회
현재 작업 상태 및 변경 사항을 확인하는 명령어입니다.
git status # 현재 작업 디렉토리 상태 확인
git log # 커밋 이력 조회
git log --oneline # 간단한 커밋 로그 보기
git log --graph --all # 그래프로 브랜치 구조 확인
git show <커밋ID> # 특정 커밋의 상세 정보 확인
git diff # 변경된 내용 비교 (스테이징 전)
git diff --staged # 스테이징된 파일과 최신 커밋 비교
🔹 4. 파일 추가 및 커밋
파일을 Git에 추가하고 변경 사항을 저장(커밋)하는 명령어입니다.
git add <파일명> # 특정 파일 추가
git add . # 모든 변경된 파일 추가
git commit -m "커밋 메시지" # 변경 사항 커밋
git commit -am "커밋 메시지" # add와 commit을 한 번에 (이미 추적 중인 파일만 가능)
🔹 5. 파일 복구 및 수정 취소
작업 중인 파일을 되돌리거나 변경 사항을 취소할 때 사용합니다.
git checkout -- <파일명> # 변경된 파일을 마지막 커밋 상태로 복구
git restore <파일명> # 최신 커밋 상태로 파일 복원 (checkout 대체)
git reset HEAD <파일명> # 파일을 스테이징에서 제외 (git add 취소)
git reset --hard HEAD # 마지막 커밋으로 모든 변경 사항 되돌림 (되돌릴 경우 복구 불가능)
git reset --soft HEAD~1 # 가장 최근 커밋을 취소하고 파일 상태는 유지
git revert <커밋ID> # 특정 커밋을 취소하는 새로운 커밋 생성
🔹 6. 브랜치 관리
Git에서 브랜치를 생성하고 관리하는 명령어입니다.
git branch # 브랜치 목록 확인
git branch <브랜치명> # 새로운 브랜치 생성
git branch -d <브랜치명> # 브랜치 삭제
git switch <브랜치명> # 특정 브랜치로 이동 (checkout 대체)
git checkout <브랜치명> # 특정 브랜치로 이동 (구버전)
git checkout -b <브랜치명> # 새로운 브랜치 생성 후 이동
git merge <브랜치명> # 현재 브랜치에 다른 브랜치 병합
git rebase <브랜치명> # 현재 브랜치를 다른 브랜치로 리베이스 (히스토리 정리)
git stash # 변경 사항을 임시 저장
git stash pop # 저장된 변경 사항 적용
🔹 7. 원격 저장소 관리
GitHub, GitLab 등 원격 저장소와 연동할 때 사용하는 명령어입니다.
git remote -v # 원격 저장소 확인
git remote add origin <URL> # 원격 저장소 추가
git remote remove origin # 원격 저장소 삭제
git push origin <브랜치명> # 원격 저장소에 푸시
git push -u origin <브랜치명> # 기본 업스트림 브랜치 설정 후 푸시
git pull origin <브랜치명> # 원격 저장소에서 변경 사항 가져오기
git fetch origin # 원격 저장소 변경 사항 가져오기 (병합X)
git clone <URL> # 원격 저장소 복제
🔹 8. 태그(Tag) 관리
버전 관리를 위해 특정 커밋에 태그를 다는 명령어입니다.
git tag # 태그 목록 확인
git tag <태그명> # 새로운 태그 생성
git tag -a <태그명> -m "설명" # 주석이 포함된 태그 생성
git push origin <태그명> # 원격 저장소에 태그 푸시
git push origin --tags # 모든 태그 푸시
git tag -d <태그명> # 태그 삭제
git push --delete origin <태그명> # 원격 저장소에서 태그 삭제
🔹 9. 서브모듈(Submodule) 관리
다른 Git 저장소를 서브모듈로 포함할 때 사용합니다.
git submodule add <URL> # 서브모듈 추가
git submodule init # 서브모듈 초기화
git submodule update # 서브모듈 최신 상태로 업데이트
git submodule foreach git pull origin main # 모든 서브모듈 업데이트
🔹 10. Git 정리 및 최적화
Git 저장소를 정리하거나 불필요한 데이터를 삭제하는 명령어입니다.
git gc --prune=now # 불필요한 데이터 정리
git clean -df # 추적되지 않은 파일 삭제
git reflog expire --expire=now --all # 오래된 커밋 정보 삭제
git fsck # 저장소 무결성 검사
🔥 자주 사용하는 Git 명령어 요약
git init | 새 저장소 초기화 |
git clone <URL> | 원격 저장소 복제 |
git status | 현재 상태 확인 |
git add <파일명> | 파일 스테이징 |
git commit -m "메시지" | 변경 사항 커밋 |
git log --oneline --graph | 커밋 로그 확인 |
git branch <브랜치명> | 새 브랜치 생성 |
git checkout <브랜치명> | 브랜치 변경 |
git merge <브랜치명> | 브랜치 병합 |
git push origin <브랜치명> | 원격 저장소에 푸시 |
git pull origin <브랜치명> | 원격 저장소에서 변경 사항 가져오기 |
git reset --hard HEAD | 모든 변경 사항 취소 |
git stash | 변경 사항 임시 저장 |
git stash pop | 저장된 변경 사항 적용 |
git rebase <브랜치명> | 브랜치 히스토리 정리 |
🚀 결론
Git을 효과적으로 사용하려면 위 명령어들을 숙지하고, 상황에 맞는 적절한 명령어를 사용하는 것이 중요합니다.
특히, git status, git log, git diff를 자주 확인하여 현재 상태를 파악하는 습관을 가지면 좋습니다.
필요한 명령어를 빠르게 찾을 수 있도록 이 목록을 즐겨찾기📌 해 두세요!
개인적으로 학습하면서 정리한 내용입니다.
잘못된 내용이 있을 경우 알려주시면 확인 후 수정 및 반영하도록 하겠습니다.
오늘도 감사합니다.(__)>
'개발 > Git' 카테고리의 다른 글
Git : git status 시 한글 깨져 보일 때 (2) | 2023.03.13 |
---|