상세 컨텐츠

본문 제목

[Git] git diff, git stash

Git

by 혀누쓰0 2023. 3. 31. 02:41

본문

 

 

 

git diff

 

diff --git a/master.txt b/master.txt //a랑 b로 이루어진 master.txt 두 파일을 비교하는 것 a는 이전의 파일 b는 이 후의 파일이다 
index 74bac62..3ddcc83 100644 // 의미 x
--- a/master.txt // 원래 파일
+++ b/master.txt // 이 후 파일
@@ -1,2 +1,3 @@ // -1,2에서의 -는 원래 파일을 뜻하고 1번줄 코드줄부터 보여준다는 뜻이고  
//그 코드줄부터 몇개의 코드줄을 보여주는지 뜻한다.
// +1,3은 +는 바뀐 파일이고 1번째 코드줄부터 3칸의 코드줄을 보여준다는 뜻

 commit 완료된 코드입니다. // -, + 가 있는건 둘다 있는 코드이고
-commit 완료된 코드입니다2. // -는 이전의 파일에서 삭제된 부분
+ // +는 수정된 부분이고 여기는 빈칸이다.
+최근 commit 이후에 수정된 스테이징에 등록되지 않은 상태의 코드입니다. // +는 수정된 코드를 뜻함

git diff는 수정된 파일의 코드를 비교해 주는 명렁어이다.

 

중요한 건 git diff는 가장 최근에 올린 commit의 파일이랑 현재 스테이징에 등록되지 않은 파일을 비교하는 것이다.

 

 

 

 

 

 

 

 

 

git diff --staged

 

 

git diff처럼 수정된 파일의 코드를 비교해주지만 

 

차이점은 가장 최근에 올린 commit과 스테이징에 올라간 파일만 비교해 준다.

 

git diff --staged <파일명>으로 특정 파일을 선택해서 볼 수 있다.

 

 

 

 

 

git diff HEAD

 

git diff HEAD

 

 

 

가장 최근에 commit 한 파일이랑 현재 상태의 파일이랑 비교를 해줄 때 사용한다

 

스테이지에 올라가지 않은 파일만 비교해주는 git diff 

 

스테이징에 올라간 파일만 비교해 주는 git diff --staged 하고는 다르게

 

가장 최근에 commit 한 파일과 현재 파일의 차이를 스테이징과 상관없이 보여준다.

 

git diff HEAD <파일명>으로 선택해서 파일만 볼 수 도 있다.

 

 

 

 

 

 

 

 

git diff <commit 해쉬명1> <commit 해쉬명2>

 

 

 

git log --oneline 할때 맨 앞에 코드가 해쉬명이다.

 

 

 

git diff 해쉬명1 해쉬명2 으로 commit을 비교 할 수 있다.

 

 

 

 

 

 

 

 

 

 

git diff <branch명1> <branch명2>

 

 

git diff <branch명> <branch명2>

 

앞에 브랜치와 뒤에 브랜치를 비교할때 사용 

 

 

 

 

 

 

 

 


 

 

 

 

 

git stash

git stash // git stash save도 동일하게 작동

 

 

 

git stash는 어떠한 일이 생겨 현재 브랜치의 작업을 냅두고 다른 브랜치로 이동을 해야 할 때 사용한다.

 

stash란 브랜치를 이동할 때 현재 브랜치에서 수정한 코드의 변경사항이 옮겨지지 않거나

 

충돌이 일어나 커밋을 해야지만 브랜치 이동이 될 때

 

즉 커밋을 하고 싶지도 않고 커밋을 할 준비도 안 됐을 때  임시적으로 저장하는 것이다,

 

 

 

 

 

 

 

git stash pop

git stash pop

 

 

가장 최근에 stash 한 작업을 되돌릴 때 사용한다.

 

이 명령어를 사용하면 최근 git stash안에 저장된 작업은 사라진다.

 

 

 

 

git stash apply

 

git stash apply

 

git stash pop 이랑 동일하게 동작한다

 

차이점은 git stash pop은 stash를 하면 저장된 stash 작업이 사라지는데

 

git stash apply를 사용하면 stash에서 지워지지 않고 계속 git stash apply를 사용해서 불러올 수 있다.

 

여러 개의 브랜치에 stash 한 변경사항이 필요할 때 사용한다.

 

 

 

 

git stash list

git stash list

 

git stash로 stash에 임시 저장을하고 git stash pop으로 불러오지않고 계속 git stash로 임시 저장만 했다면

 

git stash list로 stash를 확인할 수 있다.

 

 

 

 

 

git stash drop stash@{인덱스번호}

 

git stash drop stash@{0} // 인덱스 0번째 stash 삭제

 

stash를 삭제하는것으로 git stash drop 뒤에 stash@{인덱스 번호}로 삭제 할 수있다.

 

인덱스 번호는 git stash list로 확인 가능하다.

 

 

git stash clear

 

git stash clear

 

git stash drop으로 원하는것을 삭제하는것과 다르게

 

모든 stash를 삭제할 수 있다.

 

 

 

'Git' 카테고리의 다른 글

[Git] 커밋 이동하기, 되돌리기, 삭제  (0) 2023.04.13
[Git] gitignore, 브랜치 명령어, merge 충돌  (0) 2023.02.23
[Git] 터미널, git 명령어  (0) 2022.08.21

관련글 더보기