Git에 저장된 콘텐츠를 미리 보려면 어떻게 해야 하나요?
현재 상태의 워킹 트리에 적용하면 어떤 변화가 일어나는지 확인하고 싶습니다.
stash에서 git diff를 할 수 있다는 것은 알지만, 이것은 워킹 트리와 stash의 모든 차이를 보여줍니다.또한 stash가 어떻게 적용되는지 궁금할 뿐입니다.
git stash show
최신 저장에서 변경된 파일이 표시됩니다. 해서 '어울리지 않다'를 수 요.-p
옵션을 지정하여 차이를 표시합니다.
git stash show -p
관심 있는 stash가 최신 stash가 아닌 경우 명령어 끝에 stash 이름을 추가합니다.
git stash show -p stash@{2}
저장소의 현재 목록을 보려면:
git stash list
다음과 같은 목록이 표시됩니다.
stash@{0}: WIP on ...
stash@{1}: ...
stash@{2}: ...
...
이러한 스테시의 차이를 표시하려면 , 다음의 순서에 따릅니다.
git stash show -p stash@{n}
★★★★★★★★★★★★★★의 팬입니다.gitk
reposgit UI를 다음 항목이 저장된 마지막 항목을 볼 수 있습니다.
gitk stash
저장된 하다)을도 있습니다.git stash list
예를 들어 다음과 같습니다.
gitk stash@{2}
다음 스크린샷에서는 왼쪽 상단의 커밋(commit history에서 언제 어디서 왔는지), 오른쪽 하단의 변경된 파일 목록 및 왼쪽 하단의 행별 차이를 확인할 수 있습니다.그 동안 계속 숨겨둔 게 숨겨져 있었어.
팝되지 않은 저장소의 모든 변경 내용을 보려면:
git stash show -p stash@{0}
팝되지 않은 저장소에서 특정 파일의 변경 내용을 보려면 다음 절차를 따릅니다.
git diff HEAD stash@{0} -- path/to/filename.php
제기되었을 이수PyCharm을 하는 경우 PyCharm을 할 수 .UnStash Changes
도- ( VCS - > Git - > UnStash Changes ) 。을 사용하다이렇게 하면 저장된 변경 목록과 팝, 드롭, 클리어 또는 적용(필요한 경우 새 분기에)을 볼 수 있습니다.
변경된 파일을 저장 단위로 표시합니다.
파일당 diff를 참조해 주세요.Diff에서는 개별 변경을 체리픽하여 (왼쪽 포인팅 셰브론을 사용하여) 작업 중인 분기에 적용할 수 있습니다.
다음 명령을 사용하여 다른 저장, 커밋, 분기 또는 HEAD에 대해 저장된 변경의 차이를 추출할 수 있습니다.
git stash show
git show
git diff
git difftool
그럼 위의 각 명령어를 어떻게 사용할 수 있는지 알아보겠습니다.
git stash show
간단한 명령어 git stash show는 파일 변경에 대한 간단한 요약을 제공하지만 현재 HEAD에 대한 변경의 차이를 보여주지는 않습니다.
git-show 명령어는 다양한 유형의 객체를 표시하기 위해 사용됩니다.
git-show 명령어는 stash 변경을 시각화하는 데 사용될 뿐만 아니라 blobs, tree, tag 및 commit과 같은 하나 이상의 객체를 표시하기 위해 사용됩니다.
명령어 git-diff는 commit, commit, working tree 등의 변경을 표시하기 위해 사용되는 일반적인 명령어 중 하나이기도 합니다.
기본적으로 git diff는 다른 stash 참조 또는 commit이 지정되지 않는 한 선택한 stash와 저장소의 현재 상태(수정된 파일)의 차이를 표시합니다.
stash의 를 stash@{0}
★★★★★★★★★★★★★★★★★」master
★★★★★★★★★★★★★★★★★★:
git diff stash@{0} master
파일 이름만 표시되며 변경 내용은 다릅니다.
git diff --name-only stash@{0} master
선택한 파일에 대해 선택한 stash 간의 차이를 확인하십시오.
git diff stash@{0}^1 stash@{0} -- <filename>
git difftool
git-difftool 명령어는 선택된 stash와 선택된 commit 또는 branch 또는 stash 사이의 차이를 찾기 위해서도 사용할 수 있습니다.
최신 2개의 stash의 차이를 확인합니다.
git difftool stash@{0} stash@{0}^1
git difftool --dir-diff stash@{0} stash@{0}^1
요약:.
하는 데 이 되는 :git stash show
,git show
,git diff
,git difftool
.
'git stash show
,
git stash show -p stash@{0}
명령어를 .git show
,
git show stash@{1}
명령어를 합니다.git diff
,
git diff stash@{0} <commit-hash>
참고 자료:
https://howto.lintel.in/how-to-see-stashed-changes-using-git-stash/
https://git-scm.com/docs/git-show
https://git-scm.com/docs/git-stash
gitk의 추천을 넘어 git에 저장된 콘텐츠를 미리 볼 수 있습니까?tig를 설치하고tig stash
. 이 무료/오픈 콘솔 프로그램을 통해 비교할 저장 공간을 선택할 수도 있습니다.
변경 내용을 확인하는 가장 좋은 방법은 다음과 같이 파일에 저장하는 것입니다.
git stash show -p stash@{0} > stash.txt
(세 번째에서 마지막까지 저장의 차이를 나타내기 위해) 사용을 권장하는 기존 답변 외에
git stash show -p stash@{2}
문서에는 다음과 같이 기재되어 있습니다.
정수 stash "( ": ")" stash " " stash " " )만 할 수 .
n
stash@{n}
를 참조해 주세요.
따라서 이 명령어를 사용할 수도 있습니다(이것은 위의 명령어와 동일).
git stash show -p 2
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에서 적응: stash를 적용하지 않고 stash에 무엇이 있는지 확인)
저장된 변경 목록 보기
git stash list
특정 저장소에서 변경된 파일 목록 보기
git stash show -p stash@{0} --name-only
저장소에서 특정 파일을 보기 위해
git show stash@{0} path/to/file
나는 방법이 좋다gitk
추적되지 않은 항목이나 인덱스에 있는 항목을 정확하게 표시할 수 있지만 기본적으로는 현재 브랜치 상의 다른 모든 커밋 중간에 이러한 "스태시"가 표시됩니다.
요령은 다음과 같이 gitk를 실행하는 것입니다.
gitk "stash@{0}^!"
(이 견적은 Powershell에서 동작하도록 하기 위한 것이지만, 이렇게 하면 다른 셸에서도 동작합니다.)
gitrevisions 도움말 페이지에서 이 구문을 검색하면 다음과 같은 것을 찾을 수 있습니다.
그
r1^!
표기법에는 commit r1이 포함되지만 그 모든 부모는 제외됩니다.이 표기법 자체는 단일 커밋r1을 나타냅니다.
이것은 분명히 gitk를 선택한 커밋의 직계 부모만 표시할 수 있는 모드로 만들 것입니다.이것이 바로 제가 좋아하는 것입니다.
이 단계를 더 진행하여 모든 스트래시를 나열하려면 다음을 수행합니다.
gitk `git stash list '--pretty=format:%gd^!'`
(뒷면 안에 있는 작은 인용문은 Bash를 달래기 위해 필요하며, 그렇지 않으면 느낌표에 대해 불평한다.)
윈도우즈에서 cmd 또는 Powershell을 사용하는 경우:
gitk "--argscmd=git stash list --pretty=format:%gd^!"
다음 명령을 사용하여 모든 stash 목록을 볼 수 있습니다.
$ git stash list
stash@{0}: WIP on dev: ddd4d75 spelling fix
stash@{1}: WIP on dev: 40e65a8 setting width for messages
......
......
......
stash@{12}: WIP on dev: 264fdab added token based auth
가장 최근의 은닉처가 첫 번째입니다.
인덱스를 간단하게 선택할 수 있습니다.n
저장된 세부 정보를 보려면 다음 명령을 사용합니다.
git stash show -p stash@{3}
유사하게,
git stash show -p stash@{n}
다음 명령을 사용하여 diff를 확인할 수도 있습니다.
git diff HEAD stash@{n} -- /path/to/file
gitlen 확장자를 사용하여 VSCode의 저장된 변경 사항을 검토할 수 있습니다.
먼저 git stash 목록을 사용하여 모든 stash 항목을 가져올 수 있습니다.
$git stash list
stash@{0}: WIP on ...
stash@{1}: WIP on ....
stash@{2}: WIP on ...
그럼 우리가 이용할 수 있는 건git stash show stash@{N}
특정 저장소의 파일을 검사하다N
발사하면 다음을 얻을 수 있습니다.
$ git stash show stash@{2}
fatal: ambiguous argument 'stash@2': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
그 이유는 셸이 곱슬곱슬한 브레이스를 소비하고 있기 때문에 git이 보기 때문입니다.stash@2
가 아니라stash@{2}
이 문제를 해결하려면 다음과 같이 괄호에 작은 따옴표를 사용해야 합니다.
git stash show stash@'{2'}
com/java/myproject/my-xml-impl.xml | 16 ++++++++--------
com/java/myproject/MyJavaClass.java | 16 ++++++++--------
etc.
몇 가지 답변에 따르면-p
(또는--patch
)의 플래그를 켜짐git stash show
단, Git stash(즉, Git stash)를 표시할 때 이를 기본 동작으로 설정할 수도 있습니다. git stash show stash@{0}
)를 사용하여git config
:
git config --global stash.showPatch true
...또는 .disconfig 파일에서 다음을 수행합니다.
[stash]
showPatch = true
이렇게 하면git stash show
굴다git show
행의 만 diffstat(또는 삭제한 행의 요약)을 통해 할 수 .--stat
flag 시다 ( (다 、 flag 、 시시 ( with시 ) 。git show
git stash show --stat stash@{0}
모든 stash 표시
파일 이름만:
for i in $(git stash list --format="%gd") ; do echo "======$i======"; git stash show $i; done
모든 stash의 전체 파일 내용:
for i in $(git stash list --format="%gd") ; do echo "======$i======"; git stash show -p $i; done
(전송) 및 (후송)으로 호출할 수 있는 색상화된 diff 출력이 표시되며 현재 저장용 호출기를 닫을 수 있습니다.파일로 하고 싶은 경우는, 추가해 주세요.> stashes.diff
명령어로 이동합니다.
git stash show -p <index number of stash stack>
인덱스 번호를 찾으려면:
git stash list
::git stash show -p 1
언급URL : https://stackoverflow.com/questions/3573623/how-do-i-preview-stash-contents-in-git
'programing' 카테고리의 다른 글
카멜 케이스를 루비 밑줄 케이스로 변환 (0) | 2023.04.15 |
---|---|
분리된 HEAD와 마스터/오리지널을 조정하는 방법은 무엇입니까? (0) | 2023.04.10 |
일반 Git 저장소를 기본 저장소로 변환하려면 어떻게 해야 합니까? (0) | 2023.04.10 |
이미지 변경을 위한 열거형 데이터트리거 (0) | 2023.04.10 |
SQL Server에서 하위 쿼리를 사용하여 쿼리 업데이트 (0) | 2023.04.10 |