자주 쓰는 Git 명령어 모음

정선호·2023년 5월 4일
0

저장소 생성/연결/연결 해제

  • git init : 원하는 디렉토리에 입력해 해당 디렉토리를 git의 로컬 저장소로 만들기
  • git remote add origin 원격_리포지토리 : 원격 리포지토리에 해당 로컬 디렉토리를 연결
  • git remote remove origin 원격_리포지토리 : 연결된 원격 리포지토리의 연결 해제
  • rm -rf .git : 깃 파일을 제거함으로써 로컬 저장소화 해제

원격 저장소에 파일 업로드

  • git status : 원격 리포지토리와 로컬 리포지토리를 비교해 현재 staged/commit되지 않은 파일들을 확인
  • git add : 파일들을 staged상태로 변경
    • .으로 모든 파일
  • git commit : staged된 파일들을 commit 상태로 변경
    • -m 플래그로 커밋 메시지 동시에 작성
  • git push : 커밋된 파일들을 원격 저장소에 업로드

로컬 브랜치 관리

  • git branch : 현재 로컬 저장소에 있는 브랜치 목록을 보여줌
    • -r 플래그로 원격 저장소의 브랜치 목록을 볼 수 있음
    • -a 플래그로 원격과 로컬 저장소의 브랜치 목록을 모두 볼 수 있음
    • -m 플래그로 로컬 브랜치의 이름을 바꿀 수 있음
  • git checkout 브랜치_이름 : 원하는 브랜치로 로컬 저장소를 전환
    • -b 플래그로 새 로컬 브랜치를 만든 후 전환 가능
    • git checkout -b 자식_브랜치 부모_브랜치 : 새 자식 브랜치를 부모 브랜치로부터 갈라내 만듬
  • git branch -d 브랜치_이름 : 로컬 저장소의 브랜치 삭제
    • git branch -D 브랜치_이름 : 머지 여부와 관계없이 강제 삭제

원격 브랜치 관리

  • git pull : 현재 위치하고 있는 원격 브랜치를 업데이트하고 로컬에서 변동 사항을 병합
  • git push 원격저장소_이름 -d 브랜치_이름 : 원격 저장소의 브랜치 삭제
  • git remote update : 모든 원격 브랜치를 업데이트해 최신 상태로 갱신, 변동 사항 미병합
  • git fetch : 현재 위치해 있는 원격 브랜치를 업데이트, 변동 사항 미병합

롤백 및 수정

  • git reset --hard : (주의)모든 파일의 변경점을 되돌림
  • git checkout -- 파일이름 : 해당 파일을의 변경점을 되돌림
  • git reset HEAD : staged상태의 파일들을 unstaged상태로 해제
    • 뒤에 파일 이름을 붙여 특정 파일만 staged상태를 해제할 수 있음
  • git reset --soft HEAD^ : 커밋을 취소하고 해당 파일들을 staged상태로 유지
  • git reset --mixed HEAD^ : 커밋을 취소하고 해당 파일들을 unstaged상태로 해제
    • git reset HEAD^로 축약해 사용 가능
  • git reset --hard HEAD^ : 커밋을 취소하고 파일 변경점 모두 삭제
  • git commit --amend : 커밋 메시지 수정

임시 저장

stash 명령어

  • git stash : 로컬에서 tracked되는 파일들을 스택에 임시로 저장
  • git stash --include-untracked : 로컬에서 untracked되는 파일들까지 스택에 임시로 저장
  • git stash pop : 스택에 저장되어있던 파일들을 가져오기
profile
학습한 내용을 빠르게 다시 찾기 위한 저장소

0개의 댓글