source

특정 파일을 저장하려면 어떻게 해야 하나요?

manysource 2023. 4. 20. 21:35

특정 파일을 저장하려면 어떻게 해야 하나요?

저장하려는 저장소에서 현재 수정된 다른 파일을 남겨두고 특정 파일을 저장하려면 어떻게 해야 합니까?

예를 들어 git 상태가 다음과 같은 경우:

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")

앱/뷰/카트/환영합니다.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된 각 가 표시됩니다.) -- ) 、)) 、 hunk 。n저장해야 합니다.y했을 때, 「」, 「」, 「」를 참조해 주세요.q그만두고 남은 훈병들은 씻지 않고 놔둬야 해 a훙크

가장 사용하기 쉬운 방법은 아니지만, 필요한 경우 작업을 수행할 수 있습니다.

보통 인덱스 변경에 추가하고 저장하지 않을 변경 사항을 다음에 저장합니다.--keep-index★★★★★★ 。

git add app/controllers/cart_controller.php
git stash --keep-index
git reset

마지막 단계는 선택 사항이지만 일반적으로 원하는 단계입니다.인덱스에서 변경 사항을 제거합니다.


경고 댓글에 기재된 바와 같이git stash --keep-index스테이징되거나 스테이징되지 않은 모든 것을 저장고에 밀어넣습니다.--keep-index저장 후 인덱스를 그대로 둡니다.이로 인해 나중에 저장 공간을 팝할 때 병합 충돌이 발생할 수 있습니다.

하나의 파일을 저장하는 경우:

git stash -- filename.txt

둘 이상의 파일을 저장하는 경우:

git stash -- filename1.txt filename2.txt

에 덧붙이자면 svick은-m은 단순히 할 뿐이며 옵션입니다.option 은 、 은 option 、 은 option option option option option、 option option option option option option option option option option option 。

git stash push [paths you wish to stash]

완벽하게 유효합니다. 변경 을 「」에 .src/ 실행할 수 .

git stash push src/

비주얼 스튜디오 코드를 사용하고 있는 경우는, 선택한 파일을 간단하게 보존할 수 있습니다.

  1. VSCode에 GitLens 확장을 설치했는지 확인합니다.
  2. 소스 제어 탭으로 이동
  3. 저장할 파일 선택
  4. 마우스 오른쪽 버튼을 클릭하면 다양한 옵션이 표시됩니다.Stash Changes 클릭

여기에 이미지 설명 입력

  1. 이제 저장 메시지를 추가하라는 메시지가 나타납니다.이해할 수 있는 메시지를 추가하고 Enter 키를 누릅니다.

여기에 이미지 설명 입력

  • git status (변경을 저장할 수 있는지 확인)

src/config/bl.go

src/config/dl.go

dl.go만 저장할 경우

  • gitstash push -m " < enter your msg files reverted > " src / config / dl . go

저장 목록 표시

  • git stash 리스트

그런 다음 지점을 체크 아웃하고 저장 공간을 적용합니다.

  • gitstash stash 적용 stash{0}

간단하고 간단한 솔루션:

git stash -- finename.ext

당신의 경우git stash -- app/views/cart/welcome.thtml

만약 당신이 GIT GUI 클라이언트를 사용해도 괜찮다면, Fork는 2020년 5월 시점에서 이것을 꽤 매끄럽게 할 수 있다.부분 저장 기능의 GIF는 이를 어떤 단어보다 잘 보여줍니다.

Fork(Google에게 어려운 이름!)는 무료 소프트웨어가 아니며 평가 기간이 지나면 50달러가 들지만 WinRAR 또는 WinZip에서처럼 팝업을 무시할 수 있습니다.

  1. 저장하지 않을 변경 사항을 준비합니다.
  2. 나머지 비스테이지 파일을 저장:
$ git stash save <give_it_a_name> --keep-index

이제 스테이징되지 않은 파일이 저장되었습니다.이름 있는 stash가 있는 stash 목록을 참조하십시오.

$ git stash list

stash@{0}: On mybranch: WIP220412-1119am
stash@{1}: On mybranch: WIP220312-749am

저장된 파일을 복원하려면:

$ git stash apply stash@{<index_of_saved_stash>}
$ git stash apply stash@{0}

WIP220412-1119am에 저장된 변경 내용이 복원되었습니다.또한 저장 목록도 남아 있습니다("git stash pop" 대신 이 방법으로 목록을 유지할 수 있습니다).

@syck 님이 좋은 답변을 올려주셨습니다.모든 .java 파일을 저장하고 build.gradle은 그대로 두려고 실행했습니다.

git stash push *.java

사용하는 것 같아요.git stash push <path>멋질거야! 패턴도 지원해주잖아.

  • 예:git stash push welcome.*ml로부터 어떤 시작도 저장할 것이다.welcome.으로 끝나다ml파일입니다.이것이 당신에게 적합합니다.

vs-code의 Source Control 탭에서 Shift 키를 누른 상태에서 저장할 파일을 선택한 다음 마우스 오른쪽 버튼을 클릭하여 stash changes 옵션을 선택합니다.

언급URL : https://stackoverflow.com/questions/5506339/how-can-i-git-stash-a-specific-file