본문 바로가기

시행착오 노트

git 주요 명령어 및 기타 정리

브런치

  • git branch (브런치 이름)

    • (브런치 이름)의 이름을 가진 브런치 생성
  • git checkout (브런치 이름)

    • 해당 브런치로 이동
  • git merge (브런치 이름)

    • 현재 브런치에 (브런치 이름)의 브런치를 병합
  • git rebase (브런치 이름)

    • 현재 브런치의 루트 브런치를 (브런치 이름)의 브런치로 수정

    • git rebase --continue

      • git rebase 중 conflict가 난 경우, 수정 하여 add 후 commit이 아니라 이 명령어를 실행
    • git rebase --abort

      • git rebase 자체를 취소하려면 이 명령어 실행

태그

  • git tag (태그 이름)

    • 현재 커밋에 (태그 이름)의 이름을 가진 태그 생성
  • git tag -a (태그 이름)

    • 현재 커밋에 (태그 이름)의 이름을 가진 주석이 달린 태그 생성

    • git tag -am (태그 이름) (주석)

      • 태그 이름 및 주석까지 한번에 작성
  • git tag

    • 현재 커밋에 달린 태그 확인

    • git tag -n

      • 태그 목록과 주석 내용 한번에 확인
  • git tag -d (태그 이름)

    • 현재 커밋에서 (태그 이름)의 태그를 삭제

커밋 수정, 되돌리기, 병합

  • git commit --amend

    • 현재 stage에 올라간 내용을 가장 최근 커밋에 반영(커밋 변경)
  • git revert HEAD

    • HEAD 가 가리키는 커밋을 취소한 뒤, 이를 커밋으로 찍음. (즉 revert 한 커밋이 남음)
  • git reset --hard HEAD~2

    • HEAD~2가 가리키는 커밋까지 상태 되돌리기

    • git reset --hard ORIG_HEAD

      • 실수로 reset을 한 경우, reset 하기 전의 상태로 되돌리기
  • git cherry-pick (커밋 해시로그)

    • (커밋 해시로그)에 해당하는 커밋을 현재 브런치에 추가

    • confiict 발생 시

      • confilict가 일어난 파일sample.txt 확인하여 수정하고,

      • git add sample.txt 한 뒤,

      • git commit 해주면 해결

  • git rebase -i HEAD~2

    • HEAD~2까지 커밋들을 통합

      • 통합하려는 커밋을 pick 에서 squash로 변경하고 저장
    • HEAD~2의 커밋을 수정

      • 수정하려는 커밋을 pick에서 edit으로 변경하고 저장

      • 수정할 부분 수정하고 git addgit commit --amend 실행

      • git rebase --continue로 rebase 작업 마무리.

    • conflict 발생 시

      • 위 설명 참고
  • git merge --squash (브런치 이름)

    • (브런치 이름)의 브런치의 커밋내용을 한 커밋으로 통합하여 현재 브런치에 합치기

    • confilict 발생 시

      • 위 설명 참고

참고

누구나 쉽게 이해할 수 있는 Git 입문

이거 만드신 분은 정말 쵝오시다...