반응형
Git 명령어 정리
명령어설명예제
git config --global user.name "이름" | 사용자 이름 설정 | git config --global user.name "홍길동" |
git config --global user.email "이메일" | 사용자 이메일 설정 | git config --global user.email "hong@example.com" |
git config --list | 설정된 Git 환경 변수 확인 | git config --list |
- --global 옵션을 사용하면 시스템 전체에 적용됩니다. 특정 프로젝트에만 적용하려면 --global을 빼고 실행하세요.
저장소 초기화 및 클론
명령어 | 설명 | 예제 |
git init | 새로운 Git 저장소 초기화 | git init |
git clone <저장소 URL> | 원격 저장소 클론(복제) | git clone https://github.com/user/repo.git |
- 클론 시 디렉터리 이름을 지정하려면 git clone <URL> <폴더명>을 사용하세요.
파일 상태 확인 및 관리
명령어 | 설명 | 예제 |
git status | 현재 작업 디렉토리 상태 확인 | git status |
git add <파일> | 변경된 파일을 스테이징 | git add index.html |
git add . | 모든 변경된 파일을 스테이징 | git add . |
git rm <파일> | 파일 삭제 및 스테이징 | git rm old_file.txt |
- git add -p 명령어로 변경된 부분을 선택적으로 스테이징할 수 있습니다.
커밋 관리
명령어 | 설명 | 예제 |
git commit -m "메시지" | 스테이징된 변경 사항 커밋 | git commit -m "버그 수정" |
git commit --amend | 마지막 커밋 수정 | git commit --amend |
git log | 커밋 히스토리 확인 | git log |
git log --oneline | 간단한 커밋 히스토리 확인 | git log --oneline |
- git log --graph --all --decorate를 사용하면 브랜치와 병합 상태를 시각적으로 확인할 수 있습니다.
브랜치 관리
명령어 | 설명 | 예제 |
git branch | 현재 브랜치 목록 확인 | git branch |
git branch <브랜치명> | 새 브랜치 생성 | git branch feature-xyz |
git checkout <브랜치명> | 브랜치 이동 | git checkout develop |
git checkout -b <브랜치명> | 새 브랜치 생성 후 바로 이동 | git checkout -b hotfix |
git merge <브랜치명> | 브랜치 병합 | git merge feature-xyz |
git branch -d <브랜치명> | 브랜치 삭제 | git branch -d feature-xyz |
- git switch <브랜치명> 명령어를 사용하면 더 직관적으로 브랜치를 이동할 수 있습니다.
원격 저장소 관리
명령어 | 설명 | 예제 |
git remote -v | 원격 저장소 목록 확인 | git remote -v |
git remote add origin <URL> | 원격 저장소 추가 | git remote add origin https://github.com/user/repo.git |
git push origin <브랜치> | 변경 사항 푸시 | git push origin main |
git pull origin <브랜치> | 원격 저장소에서 변경 사항 가져오기 | git pull origin main |
git fetch | 원격 저장소의 변경 사항 가져오기(병합은 안 함) | git fetch |
- git push -u origin <브랜치> 명령어로 기본 푸시 브랜치를 설정할 수 있습니다.
병합 및 충돌 해결
명령어 | 설명 | 예제 |
git merge <브랜치명> | 다른 브랜치 병합 | git merge develop |
git mergetool | 병합 도구를 이용해 충돌 해결 | git mergetool |
git diff | 병합 전/후 변경 사항 확인 | git diff |
git rebase <브랜치명> | 리베이스로 깔끔한 커밋 히스토리 유지 | git rebase main |
- 충돌이 발생하면 <<<<<<<, =======, >>>>>>> 표시를 따라 수정하고, git add 후 커밋하세요.
기타 유용한 명령어
명령어 | 설명 | 예제 |
git stash | 현재 변경 사항 임시 저장 | git stash |
git stash pop | 임시 저장된 변경 사항 복원 | git stash pop |
git reset --hard <커밋> | 커밋 상태로 되돌리기 | git reset --hard HEAD~1 |
git clean -fd | 추적되지 않은 파일 삭제 | git clean -fd |
- 실수로 reset 명령어를 사용했다면 git reflog를 통해 이전 상태로 복구할 수 있습니다.
마무리
- Git 명령어가 길게 느껴진다면 **alias(별칭)**를 설정해 더 빠르게 사용할 수 있습니다.이제 git status 대신 git st, git checkout 대신 git co를 사용할 수 있습니다.
- git config --global alias.st status git config --global alias.co checkout
반응형
'프로그래밍' 카테고리의 다른 글
QA (Quality Assurance)란? (1) | 2025.02.19 |
---|---|
JPA(Java Persistence API)란? (1) | 2025.02.17 |
디버깅(Debugging)이란? 간단정리! (0) | 2025.02.15 |
와이어프레이밍, 목업, 프로토타이핑 차이점 (0) | 2025.02.13 |