programing

단일 파일만 저장

powerit 2023. 5. 13. 11:03
반응형

단일 파일만 저장

단일 파일의 변경 사항만 저장할 수 있으면 합니다.

git stash save -- just_my_file.txt

하지만 위의 것은 작동하지 않습니다.대안은 없나요?

메시지를 저장된 변경사항으로 지정하지 않으려면 파일 이름을 더블 대시 뒤에 전달합니다.

$ git stash -- filename.ext

추적되지 않은/새 파일인 경우 먼저 준비해야 합니다.

그러나 메시지를 지정하려면 다음을 사용합니다.push.

git stash push -m "describe changes to filename.ext" filename.ext

두 가지 방법 모두 git 버전 2.13+에서 작동합니다.

생각합니다stash -p아마도 당신이 원하는 선택일 것입니다. 하지만 만약 당신이 미래에 다른 훨씬 더 까다로운 것들과 마주칠 경우를 대비해서, 다음을 기억하세요.

Stash조금 더 복잡한 것에 대한 아주 간단한 대안일 뿐입니다.branch세트. Stash는 물건들을 빨리 옮기는 데 매우 유용하지만, 당신은 더 많은 두통과 일 없이 나뭇가지로 더 복잡한 일들을 할 수 있습니다.

# git checkout -b tmpbranch
# git add the_file
# git commit -m "stashing the_file"
# git checkout main

여기저기 돌아다니며 당신이 원하는 것을 하고, 나중에는 간단히.rebase및/또는mergetmp 브랜치재고가 허용하는 것보다 더 신중한 추적이 필요할 때는 추가 작업이 많지 않습니다.

대화형으로 단일 라인을 저장할 수 있습니다.git stash -p(에 비해)git add -p).

파일 이름이 필요하지는 않지만 저장할 파일에 도달하고 모든 변경 내용을 에 저장할 때까지 다른 파일을 건너뛸 수 있습니다.

가장 좋은 옵션은 이 파일을 제외한 모든 것을 준비하고 인덱스를 유지하도록 스택에 지시하는 것입니다.git stash save --keep-index준비되지 않은 파일을 저장합니다.

$ git add .
$ git reset thefiletostash
$ git stash save --keep-index

댄이 지적했듯이,thefiletostash이(가) 유일하게 스택에 의해 재설정되지만 다른 파일도 스태킹되므로 원하는 파일이 아닙니다.

'gitstash'를 사용할 때마다 실제로 '변경 사항 폐기'를 의미하는 경우(그리고 일시적으로 gitstash를 사용하지 않는 경우), 그 경우 사용할 수 있습니다.

git checkout -- <file>

Git Stash는 분기 및 작업에 대한 더 빠르고 간단한 대안입니다.

언급URL : https://stackoverflow.com/questions/12420924/stash-just-a-single-file

반응형