programing

Git에 저장된 콘텐츠를 미리 보려면 어떻게 해야 하나요?

telecom 2023. 4. 10. 20:57
반응형

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에서 언제 어디서 왔는지), 오른쪽 하단의 변경된 파일 목록 및 왼쪽 하단의 행별 차이를 확인할 수 있습니다.그 동안 계속 숨겨둔 게 숨겨져 있었어.

gitk 저장 공간 보기

팝되지 않은 저장소의 모든 변경 내용을 보려면:

git stash show -p stash@{0}

팝되지 않은 저장소에서 특정 파일의 변경 내용을 보려면 다음 절차를 따릅니다.

git diff HEAD stash@{0} -- path/to/filename.php

제기되었을 이수PyCharm을 하는 경우 PyCharm을 할 수 .UnStash Changes도- ( VCS - > Git - > UnStash Changes ) 。을 사용하다이렇게 하면 저장된 변경 목록과 팝, 드롭, 클리어 또는 적용(필요한 경우 새 분기에)을 볼 수 있습니다.

[ Uncash Changes ]창

변경된 파일을 저장 단위로 표시합니다.

[ Paths Affected 창

파일당 diff를 참조해 주세요.Diff에서는 개별 변경을 체리픽하여 (왼쪽 포인팅 셰브론을 사용하여) 작업 중인 분기에 적용할 수 있습니다.

여기에 이미지 설명 입력

다음 명령을 사용하여 다른 저장, 커밋, 분기 또는 HEAD에 대해 저장된 변경의 차이를 추출할 수 있습니다.

git stash show
git show
git diff
git difftool

그럼 위의 각 명령어를 어떻게 사용할 수 있는지 알아보겠습니다.

  1. git stash show

간단한 명령어 git stash show는 파일 변경에 대한 간단한 요약을 제공하지만 현재 HEAD에 대한 변경의 차이를 보여주지는 않습니다.

  1. git show

git-show 명령어는 다양한 유형의 객체를 표시하기 위해 사용됩니다.

git-show 명령어는 stash 변경을 시각화하는 데 사용될 뿐만 아니라 blobs, tree, tag 및 commit과 같은 하나 이상의 객체를 표시하기 위해 사용됩니다.

  1. git diff

명령어 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>
  1. 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(또는 삭제한 행의 요약)을 통해 할 수 .--statflag 시다 ( (다 、 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

반응형