변경 내용을 현재 폴더와 하위 폴더에만 숨기고 싶습니다. 어떻게 할 수 있습니까?현재 폴더에서 stash 변경 내용을 적용하는 방법
명백한 접근 방식을 시도했는데 (git stash .
) 작동하지 않는 것 같습니다.
임시 커밋을 생성하여 나중에 삭제할 수 있음을 알고 있지만 git stash
이 특정 폴더를 숨김 지원하는지 알고 싶습니다.
변경 내용을 현재 폴더와 하위 폴더에만 숨기고 싶습니다. 어떻게 할 수 있습니까?현재 폴더에서 stash 변경 내용을 적용하는 방법
명백한 접근 방식을 시도했는데 (git stash .
) 작동하지 않는 것 같습니다.
임시 커밋을 생성하여 나중에 삭제할 수 있음을 알고 있지만 git stash
이 특정 폴더를 숨김 지원하는지 알고 싶습니다.
git stash
은 하나의 명령으로 부분 디렉토리를 저장할 수 없지만 몇 가지 대안이 있습니다.
git stash -p
을 사용하여 숨겨 넣으려는 diff 만 선택할 수 있습니다.
git stash -p
의 출력이 크거나 스크립트 가능한 솔루션이 필요하고 임시 커밋을 만들면 커밋을 만들 수 있지만 하위 디렉토리에있는 커밋을 제외한 모든 변경 사항을 적용한 다음 변경 사항을 숨길 수 있습니다. 커밋을 되감습니다. 코드에서 :
git add -u :/ # equivalent to (cd reporoot && git add -u) without changing $PWD
git reset HEAD .
git commit -m "tmp"
git stash # this will stash only the files in the current dir
git reset HEAD~
이 당신을 위해 작동합니다 :
cd <repo_root>
git add . # add all changed files to index
cd my_folder
git reset . # except for ones you want to stash
git stash -k # stash only files not in index
git reset # remove all changed files from index
기본적으로, 폴더 (또는 파일) 당신이 숨기고 싶은 제외 인덱스에 변경된 모든 파일을 추가합니다. 그런 다음 -k
(--keep-index
)을 사용하여 숨 깁니다. 마지막으로 색인을 다시 시작한 위치로 재설정합니다.
이것은 실제로 뭔가 다른 일을합니다 :'git stash -k '는 색인을 그대로 남겨 두어 색인의 변경 사항은 삭제되지 않지만 새로운 숨김은 ** 색인 **의 변경 사항과 ** 색인 **의 변경 사항을 모두 가지므로 "완전 "어떤 경우라도 숨기십시오. –
SourceTree 또는 TortoiseGit과 같은 GUI git 인터페이스 중 하나를 체크 아웃 할 수 있습니다. 개인적으로 거북이로가는 것은 많은 명령 줄 명령을 시도하는 것보다 훨씬 빠릅니다.
당신은 터미널에서 일하는 것을 보지 못했습니다 ... 정말 빨리 일합니다. – stdcall
무엇이 오류입니까? – Shobit
@Shobit'git stash' 명령에 대한 도움말 섹션을 얻을 수 있습니다. – stdcall
할 수 없습니다. 'git stash'는 커밋되지 않은 변경을 작업 트리에 두지 않습니다. –