인프런 - 제대로 파는 Git & Github - by 얄코


git rebase -i (대상 바로 이전 커밋)

🎃 과거 커밋 내역을 다양한 방법으로 수정 가능하다.

🎈 git rebase -i 해시코드

  • 해당 해시코드의 커밋 내용 이후의 내용들이 화면에 뜰꺼야! 해당 커밋들 중에 수정하고 싶은 것들을 위에 명령어를 통해 수정하면 된다.

해당 커밋들의 pick을 어떻게 수정하고 저장하는지에 따라 각 커밋에 대해서 뭘 할지를 지정할 수 있다. (해당 명령어로 교체해주고 엔터쳐서 원하는 과정 진행하면 된다.)

관리되지 않는 파일들 삭제하기

🗑 git clean

  • 깃에서 추적하지 않는 파일들 삭제
  • 위의 옵션들을 조합하여 사용한다.

💡 흔히 쓰이는 조합: git clean -df

🎈 커밋하지 않은 변경사항 되돌리기

🎈 git restore

  • 특정 파일을 지정된 상태로 복구

git store를 사용해서 특정 파일을 working directory에서 또는 stage에서 되돌릴 수 있게 된다.

🎃 git store 파일명 : 해당 파일 커밋하지 않은 변경사항 되돌린다.

🎈 git restore . : 모든 파일 커밋하지 않은 변경사항 되돌린다. (그냥 이전 커밋된 상태 그대로)

add된 상태에서 add되지 않은 상태로 되돌릴 때

🎈 git restore --staged 파일명 : 이런 식으로 뒤에 원하는 파일명 적어주면 해당 파일 working directory로 되돌려!

🎈 git restore --staged . : 모든 파일 되돌린다.

파일을 특정 커밋의 상태로 되돌리기

🎈 git restore --source=(헤드 또는 커밋 해시) 파일명

  • 커밋 해시로 작성했을 때 해당 파일명을 해당 커밋 상태로 되돌린다. (working directory에 있는 상황으로 되돌리는거야 add, commit 해줘야 진짜 되돌리는거지)

reset을 한 것도 되돌릴 수 있다

만약 git reset --hard HEAD^^^^^^^^^^^^ 이런 식으로 과거 오래 전 버전으로 reset을 해버린 경우 어떻게 하면 되돌릴 수 있을까?

🎈 Git에는 reset한 것도 복구할 수 있는 기능이 있다 !
reflog 명령어를 이용하는 것인데, reflog는 프로젝트가 위치한 커밋이 바뀔 때마다 기록되는 내역을 보여주고 이를 사용하여 reset하기 이전 시점으로 프로젝트를 복구할 수 있다.

git reflog를 하면 이런 식으로 되는데, 내가 수행한 Git 작업을 기준으로 과거 내역을 살펴보고 원하는 시점으로 프로젝트를 되돌릴 수 있다.

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글

Powered by GraphCDN, the GraphQL CDN