Git 명령어 정리

hannni·2022년 9월 5일
0

Git

목록 보기
1/11

새로운 파일 추가와 커밋

  • git add . : 모든 파일 추가
  • git commit [커밋메시지] : 커밋하는 메시지 추가
  • git commit --amend : 현재 커밋을 직전 커밋에 함께 포함 (덮어쓰기)
    주의 사항은 직전에 git commit -m "message" 로 메시지를 남긴 경우에만 사용 가능합니다.

원격 저장소

  • git clone [저장소] : 저장소 복제
  • git push [원격 저장소] [로컬 브랜치] : 새로운 로컬 브랜치나 동일한 이름의 로컬 브랜치를 원격 저장소에 푸쉬
  • git pull [원격 저장소] : 원격 저장소에서 변경사항을 가져와 현재 브랜치에 합치기

브랜치

  • git branch [브랜치명] : 새로운 브랜치 생성
  • git branch -m [기존 브랜치명] [새 브랜치명] : 브랜치 이름 바꾸기
  • git switch [브랜치명] : 특정 브랜치로 이동
  • git switch -c [브런치명] : 브런치 만들면서 바로 이동
  • git checkout : 브랜치 이동
    • git checkout [커밋아이디 or HEAD~[n]] : 특정 시점으로 돌아가기
    • git checkout [브랜치] : 해당 브랜치의 최신 커밋으로 돌리기
    • git checkout -b [브랜치] : 브런치 만들면서 바로 이동

이력

  • git log : 모든 커밋 이력 표시
  • git log --oneline : 모든 커밋 이력을 한줄로 표기
  • git reflog : 지금까지 HEAD가 추적해 온 커밋 이력 모두 표시 (로컬에서 실행한 브랜치 이동, 커밋 이력)
  • git reflog [브런치명] : 특정 브랜치의 reflog만 표시
  • git diff [커밋아이디] --name-only : 과거와 현재 달라진 파일 비교, name only를 제외하면 내용도 함께 볼 수 있음

취소와 되돌리기

  • git reset : add 되돌리기
    • git reset [커밋아이디 or HEAD~[n]] (옵션 x ) : add 와 커밋 이력을 되돌리고 (unstaged 상태) 파일 내용은 유지
    • git reset --soft [커밋아이디 or HEAD~[n]] : 커밋 이력만 되돌리고 (add는 되어있는 상태, 즉 staged 상태) 파일 내용은 유지
    • git reset --mixed [커밋아이디 or HEAD~[n]] : add 이전 상태
    • git reset --hard [커밋아이디 or HEAD~[n]] : 커밋 이력, 파일 내용 전부 되돌리기
  • git revert : 커밋 내용 되돌리기
    • git revert [커밋 아이디] : 특정 커밋 내용 되돌리기

Git 커밋 되돌리기 ( + reset과 revert의 차이점 )

커밋 메시지 관리

  • git rebase : 커밋 수정 등 로그 관리하기
    • git rebase -i HEAD~[n] : 새 커밋을 n번째 커밋에 포함하고 싶을 때 편집기로 직접 작성
    • git rebase -i HEAD~[n] --autosquash : 새 커밋을 n번째 커밋에 포함하는데 편집기 작성 없이 자동으로 반영

일시적 보존

  • git stash : 로컬의 변경 내용을 일시적으로 보존
  • git stash pop : 보존했던 내용을 다시 되돌리기
  • git stash push -m "Message" : 메시지와 함께 일시적 보존

0개의 댓글