Etc.

[코딩애플 / git] git & github(6)_stash 사용법

Olivia Kim 2023. 4. 1. 22:52
반응형

 

📚 코딩애플의 '매우 쉽게 알려주는 git & github'을 수강하며 배우거나 추가적으로 찾아본 것들을 정리한 내용입니다.

 

git stash?

 

현재 작업 중인 코드를 어떠한 이유로 잠시 '보관'해야 하지만 'commit'까지는 부담스러울 때, 커밋하지 않아도 나중에 다시 돌아와서 작업을 이어갈 수 있도록 git stash 명령어를 사용할 수 있다.

 

 

 


git stash 사용법

# 파일들을 최근 commit상태로 돌리면서, 아직 커밋하지 않은 코드는 임시보관하기
git stash

# stash할 때 메모도 같이 입력하기
git stash save "메모"

# stash 되어있는 코드 목록을 전부 출력하기
git stath list

 

 

 


git stash를 사용하는 이유

  1. 코드를 주석처리해 두는 것과 비슷한데, 주석 처리된 코드는 commit 시 반영된다. 그렇게 되면 주석도 commit 기록에 남기 때문에 코드가 지저분해질 수 있다. 이와 같이 주석 처리한 내용을 commit하기 싫을 때 git stash를 사용하면 유용하다.


  2. 기능 a, b를 만들어야 하는데 기능 a는 완성되었고 b는 반쯤 완성되었을 경우, 기능 a라도 빨리 commit하고 merge해야 하는 상황이라면 기능 b를 stash한다. (간단히 브랜치를 만들어서 그곳에 보관해도 되긴 하다.)

 

 

 


stash로 보관했던 코드 불러오기

 

# 가장 최근에 보관했던 코드부터 불러오기 (기본값)
git stash pop

 

  • 가장 최근에 들어온 것부터 먼저 나간다.
  • 현재 코드와 겹치는 부분이 있으면 conflict (충돌) 에러가 난다.

 

 

 


stash 관련 여러 명령어들

# 특정 stash 삭제 (id는 list하면 보이는 0, 1, 2 이런 숫자들)
git stash drop 삭제할id

# 모든 stash 삭제
git stash clear

# 전체 말고 일부 코드만 git stash 할 때 (파일을 훑으며 stash할지 의견을 물어보는데 y/n하면 됨)
git stash -p

 

 

 


 

✅ 코딩애플님의 git 강의는 VSCode 내에서, 명령어로 git 관리하는 방법을, 쉽게 알려주신다는 점에서 지금까지 제일 이해와 흡수가 빨리 되는 강의였다. 무료로 제공되는 이 강의 하나만 듣고 다른 강의를 결제할까 고민했을 정도로! 지금 당장은 작업 범위가 넓지 않아 clone, pull, commit, push, branch 정도만 사용하고 있지만 나중엔 브랜치 전략도 적용해보고 싶다. 마음의 숙제 같았던 git을 재밌고 즐겁게 배운 시간이었다!

 


[참고 자료]

https://codingapple.com/course/git-and-github/

 

(무료) 매우쉽게 알려주는 git & github - 코딩애플 온라인 강좌

    Next.js는 프론트엔드부터 서버까지 만들 수 있는 React기반 프레임워크입니다. 다른거 필요없이 이것만 사용해도 풀스택 웹개발이 가능합니다.    Next.js 사용시 서버사이드 렌더링이 쉽기 때

codingapple.com

https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning

 

Git - Stashing과 Cleaning

작업하던 저장소가 완전 지저분해져서 Git에게 진짜로 강제로 정리하도록 해야 하는 경우가 생길 수 있다. 예를 들어 Git 버전관리 데이터가 포함된 디렉토리를 복사해왔거나 서브모듈 디렉토리

git-scm.com

 

 

 

반응형