개발/기타

Git 필요할 때 한번씩 찾게되는 명령어

펭귀니 :) 2020. 11. 18. 09:10

 

  • 로컬 저장소에서 삭제된 파일 복구하는 방법
    • git ls-files -d // 삭제된 파일 리스트 확인
    • git checkout [files] // [files]에 파일 이름 적으면 해당 파일 복구

 

  • git add 취소하기
    • git reset HEAD <file>

 

  • git commit 취소하기
    • git reset --soft HEAD^
    • git reset --mixed HEAD^ // commit 취소하고 해당 파일들을 unsatged 상태로 워킹 디렉토리에 보존
    • git reset --hard HEAD^ // commit 취소하고 해당 파일들을 unstaged 상태로 워킹 디렉토리에 삭제
    • git commit --amend // commit message를 잘 못 적은 경우
  • 하던 작업을 임시 저장하고 checkout하여 브랜치 옮기고 싶은 경우
    • git stash
    • git stash list // 저장한 stash 목록 확인
    • git stash apply // stash로 저장한 작업 중 가장 최근의 stash 가져오기
    • git stash apply stash@{2} // stash@{2}에 해당하는 stash 가져오기
    • git satsh drop // stash 제거하기

 

  • git fetch
  • git fetch는 두가지의 중요한 단계를 수행합니다.
    • 원격 저장소에는 있지만 로컬에는 없는 커밋들을 다운로드 받습니다.
    • 우리의 원격 브랜치가 가리키는곳을 업데이트합니다 (예를들어, o/main)
    • 그러나, 여러분의 로컬 상태는 전혀 바꾸지 않는습니다. 여러분의 main 브랜치도 업데이트하지 않고 파일 시스템의 모습이던 그 어떤것도 바꾸지 않습니다. 이것을 이해하는게 아주 중요한데, 왜냐하면 수 많은 개발자들이 git fetch를 하면 자신의 로컬 작업이 변경되어 원격 저장소의 모습을 반영해 업데이트 될것이라고 생각하기 때문입니다. 앞의 과정에 필요한 데이터를 다운로드는 하지만, 실제로 로컬 파일들이나 브랜치를 변경하지는 않습니다.

 

  • 사실 원격 저장소의 변경을 fetch하고 그이후에 merge하는 작업의 과정이 워낙 자주있는 일이라서 git은 이 두가지를 한번에 하는 명령을 제공합니다! 이 명령어는 git pull 입니다.

커밋 메세지 수정하기

https://velog.io/@mayinjanuary/git-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%84%B8%EC%A7%80-%EC%88%98%EC%A0%95%ED%95%98%EA%B8%B0-changing-commit-message

 

[git] 커밋 메세지 수정하기 (changing commit message)

로컬에 있는, 혹은 리모트에 이미 올라간 commit message 를 수정하는 방법을 알아봅니다. 가장 최신의 commit 을 수정하는 방법과, 더 오래된 commit 을 수정하는 방법을 알아봅니다.

velog.io

 

 

 

깃 stash 명령어 사용하기

https://gmlwjd9405.github.io/2018/05/18/git-stash.html

 

[Git] git stash 명령어 사용하기 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

https://wikidocs.net/book/1902

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net