git 명령어 모음집

Yun·2021년 3월 29일
0

git

목록 보기
1/2
post-thumbnail

방금 커밋한 메시지 수정하기

git commit --amend

문서의 수정 내용을 기록해둔 커밋 메시지를 잘못 입력했다면 커밋을 만든 즉시 커밋 메시지를 수정할 수도 있습니다.

작업 되돌리기

git checkout -- test.txt

git checkout -- 파일이름
파일을 수정 한뒤 소스가 정상적으로 동작 하지 않는 등의 이유로 수정한 내용을 취소하고 가장 최신 버전 상태로 되돌릴 때

add 가 된 이후에 되돌리는 법은 따로 있습니다

스태이징 되돌리기

수정된 파일을 git add test.txt 하면 스태이징 됩니다.
스태이징 상태를 되돌리려면 다음과 같은 명령어를 사용하면 됩니다.

git reset HEAD test.txt

해당 파일은 스태이징 상태에서 내려옵니다.

파일의 수정한 내용이 변경 되지는 않습니다.

로그 기록 파일 리스트 와 함께 보기

git log --stat

최신 커밋 되돌리기 -git reset HEAD^

최신 커밋을 되돌리려면 git reset 명령 다음에 HEAD^를 붙입니다.
HEAD^는 현재 HEAD가 가리키는 브랜치의 최신 커밋을 가리킵니다.
git log 명령을 실행했을 때 가장 최신 커밋에 (HEAD -> master) 표시가 있던 것을 기억할 것입니다.
이렇게 되돌리면 커밋도 취소되고 스테이지에서도 내려집니다.
취소한 파일이 작업 트리에만 남게 됩니다.

git reset 명령의 옵션 살펴보기

reset 명령은 사용 하는 옵션에 따라 되돌릴 수 있는 단계가 다릅니다.

  • --soft HEAD^
    - 최근 커밋을 하기 전 상태로 작업 트리를 되돌립니다.
  • --mixed HEAD^
    - 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌립니다. 옵션 없이 git reset 명령을 사용할 경우 이 옵션을 기본으로 작동합니다.
  • --hard HEAD^
    - 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌립니다. 이 옵션으로 되돌린 내용은 복구할 수 없습니다.

특정 커밋으로 되돌리기 - git reset commit hash

git reset HEAD^ 명령으로 최신 커밋을 되돌릴 수도 있지만 특정 버전으로 되돌린 다음 그 이후 버전을 삭제할 수도 있습니다.

reset에서 커밋 해시를 사용해 되돌릴때 주의할점

예를 들어 reset A를 입력 한다면 이 명령은 A 커밋을 리셋하는 것이 아니라 최근 커밋을 A로 리셋 합니다. 즉 A 커밋을 삭제하는 것이 아니라 A 커밋 이후에 만들었던 커밋을 삭제하고 A 커밋으로 이동하겠다는 의미입니다.

git reset --hard 복사한 커밋 해시

커밋 삭제하지 않고 되돌리기 - git revert

커밋으로 되돌릴 때 수정했던 것을 삭제해도 된다면 git reset 명령을 사용하면 되지만, 나중에 사용할 것을 대비해서 커밋을 되돌리더라도 취소한 커밋을 남겨두어야 할 때가 있습니다.
이때는 git reset이 아닌 git revert라는 명령을 사용합니다.

가장 최근에 커밋한 버전을 취소하고 직전 커밋으로 돌아가려고 합니다.
git reset 경우에는 특정 커밋으로 가기 위해서 reset 명령 뒤에 특정 커밋의 해시를 지정 했지만 revert 명령의 경우에는 revert 명령 뒤에 취소하려고 하는 버전 의 커밋 해쉬를 지정합니다.

실행 하게 되면 텍스트 편집기가 나타나는데 revert 하면서 추가로 남겨둘 내용이 있다면 입력하고 저장합니다.

profile
개발 재밌따..ㅎ

0개의 댓글