나는 종종 나중에 일을 끝내고 나서 다른 것들이 나오고 몇 주 후에 숨김을 검사하고 현재 상태의 작업 트리에 적용하면 어떤 변화가 있는지 알아 내고 싶습니다.
나는 숨김에서 git diff를 수행 할 수 있다는 것을 알고 있지만, 이것은 작업 트리와 숨김 사이의 모든 차이점을 보여 주지만, 숨김 적용이 무엇을 바꿀지 알고 싶습니다.
어떻게해야합니까?
답변
git stash show
가장 최근 숨김 상태에서 변경된 파일이 표시됩니다. -p
diff를 표시하는 옵션을 추가 할 수 있습니다 .
git stash show -p
관심있는 숨김이 최신이 아닌 경우, 명령 끝에 숨김 이름을 추가하십시오.
git stash show -p stash@{2}
답변
현재 숨김 목록을 보려면
git stash list
다음과 같은 목록이 나타납니다.
stash@{0}: WIP on ...
stash@{1}: ...
stash@{2}: ...
...
해당 숨김에서 차이를 보려면 :
git stash show -p stash@{n}
답변
gitk
git repos를 시각화하는의 그래픽 UI의 팬입니다 . 다음으로 보관 된 마지막 항목을 볼 수 있습니다.
gitk stash
으로 나열된 모든 숨김 변경 사항보기를 사용할 수도 있습니다 git stash list
. 예를 들면 다음과 같습니다.
gitk stash@{2}
아래 스크린 샷에서 커밋 내역에서 왼쪽과 위쪽, 커밋 기록에서 언제 어디서 왔는지, 오른쪽 아래에서 수정 된 파일 목록 및 아래쪽의 줄별 차이로 숨김을 커밋으로 볼 수 있습니다 -왼쪽. 은신처가 여전히 숨겨져있는 동안.
답변
팝되지 않은 숨김에서 모든 변경 사항을 보려면 :
git stash show -p stash@{0}
팝되지 않은 숨김에서 한 특정 파일의 변경 사항을 보려면 :
git diff HEAD stash@{0} -- path/to/filename.php
답변
gitk 권장 사항을 넘어서서 git에서 숨김 컨텐츠를 미리 볼 수 있습니까? tig 를 설치 하고 호출 할 수 있습니다 tig stash
. 이 무료 / 오픈 콘솔 프로그램을 통해 비교할 숨김을 선택할 수도 있습니다
답변
나는 이것을 사용하여 색상 차이가있는 모든 숨김을 볼 수 있습니다 (Fedora 21에서).
git stash list |
awk -F: '{ print "\n\n\n\n"; print $0; print "\n\n";
system("git -c color.ui=always stash show -p " $1); }' |
less -R
( Git 에서 적응 : 숨김을 적용하지 않고 숨김에 무엇이 있는지 확인하십시오 )