질문자 :ynkr
내가 저장하려고 하는 숨김에서 현재 수정된 다른 파일을 남겨두고 특정 파일을 숨길 수 있습니까?
예를 들어 git status가 다음을 제공하는 경우:
younker % gst # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: app/controllers/cart_controller.php # modified: app/views/cart/welcome.thtml # no changes added to commit (use "git add" and/or "git commit -a")
app/views/cart/welcome.thtml만 숨기고 싶은데 어떻게 해야 하나요? 다음과 같은 것(물론 이것은 작동하지 않습니다):
git stash save welcome_cart app/views/cart/welcome.thtml
편집: git 2.13부터 숨김에 대한 특정 경로를 저장하는 명령이 있습니다: git stash push <path>
. 예를 들어:
git stash push -m welcome_cart app/views/cart/welcome.thtml
이전 답변:
git stash --patch
(또는 git stash -p
)를 사용하여 이를 수행할 수 있습니다. 변경된 각 덩어리가 표시되는 대화식 모드로 전환됩니다. 숨기고 싶지 않은 파일을 건너뛰려면 n
을 사용 y
를 사용하고, 종료하고 나머지 덩어리를 숨기지 않은 채로 두려면 q
표시된 덩어리 해당 파일의 심술쟁이의 나머지 부분을 숨겨 놓은 것입니다.
가장 사용자 친화적인 접근 방식은 아니지만 실제로 필요한 경우 작업을 완료합니다.
svick나는 일반적으로 숨기고 싶지 않은 인덱스 변경 사항을 추가한 다음 --keep-index
옵션을 사용하여 숨깁니다.
git add app/controllers/cart_controller.php git stash --keep-index git reset
마지막 단계는 선택 사항이지만 일반적으로 원하는 단계입니다. 인덱스에서 변경 사항을 제거합니다.
경고 주석에서 언급했듯이 git stash --keep-index
는 준비된 것과 준비되지 않은 모든 것을 숨김으로 푸시합니다. --keep-index
는 숨김이 완료된 후 인덱스를 그대로 둡니다. 이것은 나중에 숨김을 팝할 때 병합 충돌을 일으킬 수 있습니다.
skaleesvick의 답변에 추가하기 위해 -m
옵션은 단순히 메시지를 숨김에 추가하며 완전히 선택 사항입니다. 따라서 명령
git stash push [paths you wish to stash]
완벽하게 유효합니다. src/
디렉토리에 변경 사항만 숨기고 싶다면 다음을 실행할 수 있습니다.
git stash push src/
qiuVisual Studio 코드를 사용하는 경우 선택한 파일을 숨기는 더 간단한 방법이 있습니다.
- 소스 제어 탭으로 이동
- 숨길 파일을 선택하십시오
- 그것을 마우스 오른쪽 버튼으로 클릭하면 많은 옵션이 표시됩니다. 변경 사항 보관을 클릭하십시오.
- 이제 숨김 메시지를 추가하라는 메시지가 표시됩니다. 이해할 수 있는 메시지를 추가합니다.
AkshayGIT GUI 클라이언트를 사용하는 데 문제가 없다면 Fork 는 2020년 5월부터 이 작업을 매우 원활하게 수행할 수 있습니다. 부분 숨김 기능의 GIF는 이를 어떤 단어보다 더 잘 보여줍니다.
Fork(Google에서는 어려운 이름입니다!)는 무료 소프트웨어가 아니며 평가 기간 후 비용이 $50이지만 WinRAR 또는 WinZip에서와 같이 팝업을 무시할 수 있습니다.
georgiecasey출처 : http:www.stackoverflow.com/questions/5506339/how-can-i-git-stash-a-specific-file