Git

[중앙정보처리학원] git* git diff와 stash 사용하기

해보구 2024. 3. 5. 17:02
반응형

 

 

 

 

git diff

 

 

 

 

 

                  git diff.                                       git diff HEAD         ===          git diff --stage

 작업영역 (working place)                         스테이징 영역 (staging area).               저장소(repository)

         (파일 수정,추가,삭제)     <<git add>>>.         (파일)                   <<git commit>>.            (파일)

 

 

이라 생각하면 된다.

 

풀이하자면 git diff는 작업영역의 구간에서만 사용이 가능하며 현재작업과 직전작업의 변경부분을 알려준다. git diff HEAD는 이미 

git add로 넘어간 다음에 사용 하는 명령어 이다. git diff --staged 도 동일하다.   

 

git diff filename                                        << 특정 파일 변경사항
git diff --staged                                        << add 후에 
git diff HEAD                                            << add 후에
git diff branch1..branch2                                << 두 브랜치 간 변경사항
git diff commit1..commit2                                << 두 커밋 간 변경사항

키워드

 

 

 

 

 

git stash

 

 

Git에서 제공하는 임시저장소 라고 생각하면 된다. 현재 브랜치에서 작업중이지만 다른 브랜치도 넘어갈 때, 테스트와 디버깅을 위해,  등등 사용할 수 있다. commit 하지 않고 브랜치를 이동 했을 때, 또 잠재적 conflic를 예상해서 switching이 거부되는 경우들에 사용되어지기도 한다.

 

git stash                                                 <<저장하기
git stash apply stash@{num}                               <<사용하기
git restore "<<이름>>"                                     <<돌아가기
git stash pop stash@{num}                                 <<사용 후 삭제하기
git stash list                                            <<현재 stash 리스트
git stash save "something".                               <<저장 후 이전 커밋으로 돌림

키워드

 

 

Conflict로 수정 된 다음에 다시 스태시를 쓰고싶으면 apply 명령어가 아니라 pop 명령어를 사용해야 한다.

반응형