git stash, git show, git diff👆
git stash를 알고나서는 브랜치 이동을 위한 의미없는 커밋을 안남기게 해주는 고마운 친구!
보통 원격저장소의 master 가 update되어서 pull을 받을때, 혹은 작업 중 급하게 다른 브랜치로 이동해야 할때, 작업중이던 부분을 commit
하지 않으면 이동이 불가능 하다. 하지만 의미없는 커밋을 해야해서 좀 번거로웠는데 git stash
해놓으면 아주 간편하다!
나의 feature branch에서 작업중에 브랜치 이동을 위해 git checkout master
를 하면 바로 이런 error가 뜬다
그럼 이때 git add
+ git commit
조합이 아닌 git stash
를 쓴다. git stash save
를 입력해도 똑같이 작동한다.
그러고 나서 원하는 브랜치로 이동한 뒤, 다시 내 feature 브랜치로 돌아와서 stash 해놓은 작업을 보려면 git stash pop
을 입력한다. 그럼 작업하던 부분이 돌아오고 커밋 하라는 안내가 나온다. 그러고 다시 작업하면 끄읕!
git add 파일명
하지않고, add 하기 전 한번 더 변경된 사항을 리마인드 할 수 있게 하는 명령어 이다! commit후 새로운 commit 전 변경된 부분 비교
예시를 보자! 우선 파일의 내용을 바꾸고 첫번째 커밋을 남긴 뒤, 내용을 수정하고 git diff
를 입력한다
그럼 터미널에 이렇게 변경된 부분이 아래와 같이 표시된다.
더 자세히 보고싶으면 git diff
만 입력하는것이 아닌 git diff --color-words
혹은 git diff --word-diff
명령어를 통해 바뀐 부분을 자세히 알수 있다.
git show
명령어를 입력하면 이렇게 로그 내역과 바뀐 내용을 보여준다.