정리/Git
Git 기본 명령어
민발자
2023. 7. 28. 20:12
728x90
종류 | 명령어 | 설명 |
깃 저장소 만들기 | git init | .git 이라는 하위 디렉토리 생성, 해당 폴더는 git이 관리하게 됨 |
상태 정보 | git status | 현재 관리되고 있는 파일들 상태 출력 |
git log | 커밋 해시 확인 가능, 현재 위치한 브랜치내역만 확인가능 | |
git diff | 커밋된 것과 현재 상태 비교 빨간색 : 삭제된 부분 초록색 : 추가된 부분 |
|
git diff --staged | 커밋된 것과 스테이지에 올라간 것 상태 비교 | |
git diff 커밋해시1 커밋해시2 | 커밋간 상태비교 | |
git diff 브래치1 브랜치2 | 브랜치간 상태 비교 | |
커밋 | git add . | 관리되고 있는 폴더에 있는 모든 파일 스테이지에 올라감 |
git add 파일명 | 특정 파일만 스테이지에 올림 | |
git commit -m '커밋 메세지' | 스테이지에 올린 파일을 커밋 | |
git commit -am '커밋 메세지' | 스테이지에 올리면서 파일을 커밋 | |
git reset --hard 커밋 해시 | 해당 커밋으로 초기화(모든 히스토리와 변경사항 유실) | |
git revert 커밋 해시 | 해당 커밋으로 되돌아가기(히스토리는 그대로 유지 해당 커밋으로 변경사항 되돌림) | |
git revert --no-commit 커밋 해시 | 커밋 없이 되돌리기 | |
브랜치 | git branch | 브랜치 목록 |
git branch 브랜치이름 | 브랜치 생성 | |
git switch 브랜치이름 | 브랜치 이동 | |
git switch -c 브랜치이름 | 브랜치 생성 후 해당 브랜치로 이동 | |
git branch -d 브랜치이름 | 브랜치 삭제 | |
git branch -D 브랜치이름 | 해당 브랜치에만 있는 커밋이 있을 경우 강제삭제 | |
git branch -m 기존 이름 새이름 | 브랜치 이름 변경 | |
git branch --all | 로컬과 원격의 브랜치 목록 확인 | |
합치기 | git merger 브랜치이름 | 해당 브랜치 커밋을 현재 브랜치에 합침 |
git merge --abort | merge 중단 | |
git rebase 브랜치이름 | 현재 브랜치의 커밋을 해당 브랜치에 이어붙임 이어붙일 커밋이 있는 브랜치에서 진행 후 이어 붙여진 브랜치에서 merge 필요 |
|
git rebase --abort | rebase 중단 | |
git rebase --continue | rebase 계속 진행 | |
저장소 복제 | git clon URL | 저장소에 있는 파일 로컬로 복제 |
원격 저장소 설정 | git remote add 원격이름 URL | 로컬저장소를 원격 저장소로 연결 |
git branch -M main | 기본 브랜치이름 main으로 변경 | |
git push -u 원격이름 브랜치이름 | 커밋을 원격 서버에 업로드 및 브랜치 지정 | |
git remote | 원격 목록 보기 | |
git remote -v | 원격 목록 상세보기 | |
git remote remove 원격 이름 | 원격 저장소 지우기(로컬에서만 삭제 깃허브엔 그대로) | |
push와 pull | git push | 원격 저장소로 커밋 업로드(-u origin 브랜치이름로 원격 브랜치 지정됨) |
git pull | 원격 저장소에 있는 커밋 당겨오기 | |
충돌상황 push+pull인 경우 |
git pull --no-rebase | merge 방식 |
git pull --rebase | rebase 방식 -> 협업에서 사용 | |
강제 push | git push --force | 원격에 강제 적용 |
원격 브랜치 | git fetch | 원격의 브랜치 확인 |
git switch -t 원격이름/브랜치이름 | 원격의 브랜치 로컬에 생성 후 이동 | |
git push 원격이름 --delete 원격 브랜치이름 | 원격의 브랜치 삭제 |
728x90