본문 바로가기
IT/기타

GIT 기본 명령어

by Blog37 2024. 5. 12.
반응형

# 설정

  • git config --global user.name "사용자 이름"    Git 사용자 "이름" 설정(및 변경) 하기.
  • git config --global user.email "이메일 주소"    Git 사용자 "이메일 주소" 설정(및 변경) 하기.
  • git config -unset --global user.name    Git 사용자 "이름" 삭제 하기.
  • git config -unset --global user.email    Git 사용자 "이메일 주소" 삭제 하기.

 

# 시작

  • git init    Git 저장소(Repository) 생성.
  • git status    Git 현재 상태 확인.(add나 commit할 파일이 있는지 확인)

 

# Add

- 버전에 포함시킬 파일을.. 스테이징 영역(Staging Area)에 추가하는 명령어.

  • git add <파일명> <파일명> <파일명>    스테이징 영역에 add 하기.
  • git add .    파일 전체, 스테이징 영역에 add 하기.
  • git reset head <파일명>    add 취소하기. (Working Directory로 이동됨)
  • git reset head    파일 전체 add 취소하기.
  • git checkout -- <파일명>    수정된 파일 내용을 이전 상태로 원복 시키는 명령어.(Discard Changes)

 

# Commit

- 스테이징 영역(Staging Area)에 있는 파일들을.. 최종적으로 버전화 시키는 명령어.(Repository에 저장됨)

  • git commit -m '커밋 메세지'    메세지와 함께 commit 하기. (버전 만들기)
  • git commit -am '커밋 메세지'    메세지와 함께 add와 commit을 동시에 진행하기.
  • git commit --amend -m '수정할 커밋 메세지'    최근 마지막 commit한 메세지 수정하기.
  • git reset head^    최근 마지막 commit 취소하기. - (워킹 디렉토리에 수정된 내용을 유지함.)
  • git reset --hard head^    최근 마지막 commit 취소하기. - (워킹 디렉토리에 수정된 내용을 삭제함.)
    (^기호의 추가 횟수에 따라 이전 단계의 commit들도 취소 가능. )
  • git reset head~3    최근 마지막 commit된 시점으로 부터 3개의 commit 내역 삭제하기.
  • git reset --soft <커밋 ID>    선택한 '커밋 ID'버전 상태로 되돌아가기. - (이전 버전 내역들은 삭제됨.)
    --soft 옵션: '워킹 디렉토리'와 '스테이징 영역'에 있는 파일 모두 유지됨.
  • git reset --mixed <커밋 ID>    선택한 '커밋 ID'버전 상태로 되돌아가기.
    --mixed 옵션: '워킹 디렉토리'에 있는 파일은 유지되고.. '스테이징 영역'에 있는 파일은 모두 '워킹 디렉토리'로 이동됨.(수정된 내용 유지됨)
  • git reset --hard <커밋 ID>    선택한 '커밋 ID'버전 상태로 되돌아가기.
    --hard 옵션: '워킹 디렉토리'와 '스테이징 영역'에 있는 파일 모두 삭제됨.(수정된 내용 삭제됨)
  • git revert <커밋 ID>    이전 버전 내역을 삭제하지 않고.. 선택한 '커밋 ID' 버전 상태로 되돌아가기.
    (revert를 사용할 때.. 되돌리고자 하는 '커밋 ID'시점까지.. 순차적으로 revert를 해줘야만 충돌이 안 생김.)

 

# 로그

  • git log <파일명>    선택한 파일의 commit 내역 확인하기.
  • git log    commit 내역 전체 확인하기. (커밋 히스토리)
  • git log --graph    그래프 형태로 commit 내역 확인하기.
  • git log --oneline    commit 내역 한줄로 표시하기.
  • git log --stat    commit 내역 상세하게 표시하기.(파일명 표시, 변경된 횟수 표시)
  • git log --p    commit 내역 상세하게 표시하기.(파일명 표시, 변경된 내용 표시)
  • q    git log 나가기.
  • git diff <커밋 ID> <커밋 ID>    버전(커밋) 비교하기.

 

# 버전 이동

  • git checkout <커밋 ID>    선택한 '커밋 ID' 버전 상태로 이동하기.
  • git checkout <브랜치명/master>    최신 버전 상태로 이동하기.

(checkout된 부분.. HEAD로 표시됨.)

 

# 브랜치

  • git branch    생성된 브랜치 목록 보기.
  • git branch -r    생성된 원격 브랜치 목록 보기.
  • git branch <브랜치명>    브랜치 생성하기.
  • git checkout -b <브랜치명>    브랜치 생성하고, 해당 브랜치로 바로 이동 하기.
  • git branch -m <브랜치명> <변경할 브랜치명>    브랜치 이름 바꾸기.
  • git branch -D <브랜치명>    브랜치 삭제하기.
  • git checkout <브랜치명>    브랜치 이동하기.
  • git merge <병합할 브랜치명>    브랜치 병합 하기.
    (기준이 되는 master 브랜치가 checkout(선택)된 상태에서 merge 명령어를 실행해야 함.)
    (병합 충돌시.. conflict 수정 → add → commit 단계를 거쳐.. merge해야 함.)

 

# 원격(Remote) 저장소

  • git remote -v     생성된 원격 저장소 목록 보기.
  • git remote add <별칭/origin> <원격 저장소 주소>    원격 저장소 생성하기.
  • git remote rename <별칭> <변경할 별칭>    원격 저장소 별칭(이름) 변경하기.
  • git remote rm <별칭>    원격 저장소 삭제하기.
  • git remote update    원격 저장소 브랜치를 최신 정보로 업데이트 하기.
  • git clone <원격 저장소 주소>    원격 저장소를 로컬(내컴퓨터 작업 폴더)로 복사해 가져오기.
    (로컬 저장소끼리도 복사 가능)
  • git pull    원격 저장소의 업데이트 사항을 로컬 저장소에 가져와 병합하기.(동기화)
  • git push origin master    로컬 저장소의 업데이트 사항을 원격 저장소에 업로드하고 병합하기.
    (git push <원격 저장소 별칭> <원격 저장소 브랜치명>)
  • git push --set-upstream origin master    push할 때.. 원격 저장소의 origin master 위치로 업로드 하겠다는 설정. (최초 한번만 실행한 후.. git push 명령어로 사용하면 됨.)
  • git push -u origin master    (최초 한번만 실행한 후.. git push 명령어로 사용하면 됨.)
  • ssh-keygen    ssh-key 생성하기.
반응형

'IT > 기타' 카테고리의 다른 글

NPM 기본 명령어  (0) 2024.05.13
GitHub 무료 웹 호스팅  (0) 2024.05.11