특정 파일만 해동하려면 어떻게 해야 합니까?
거스름돈은 따로 뒀어요.이제 저장소에서 일부 파일만 해동합니다.이거 어떻게 해?
Git Stash에서 단일 파일(또는 파일 변경)을 추출하는 방법에서 설명한 바와 같이 use를 적용하거나 특정 파일을 복원할 수 있습니다.
git checkout stash@{0} -- <filename>
Git 2.23+(2019년 8월)에서는, 다음의 명령어를 사용해 주세요.
git restore --source=stash@{0} -- <filename>
그러면 덮어쓰기가 됩니다. filename
: 로컬에서 수정하지 않았는지 확인합니다.그렇지 않으면 저장된 파일을 Marge할 수도 있습니다.
(Jaime M.의 코멘트에 따르면 tcsh와 같은 특정 셸에서 특수문자를 이스케이프할 필요가 있는 경우 구문은 다음과 같습니다.git checkout 'stash@{0}' -- <filename>
)
또는 다른 파일명으로 저장합니다.
git show stash@{0}:<full filename> > <newfile>
해 주세요).
<full filename>
의 풀 : 인 파일).stash@{0}
) ) 。
해당 파일에서 적용할 변경 사항을 수동으로 선택하는 경우:
git difftool stash@{0}..HEAD -- <filename>
아예'처럼 생겼네요.
git checkout stash@{0} -- <filename>
" 는, 보존이 실행되었을 때에 파일의 버전을 복원합니다.이 파일은, 보존된 변경은 적용되지 않습니다(단순히 적용되지는 않습니다).
다음 중 하나:
git diff stash@{0}^1 stash@{0} -- <filename> | git apply
(peterflyn의 코멘트에 의하면,| git apply -p1
하는 것p1
"diff diff" (diff)
「 「unstash」)git stash pop
、 、 、 :
- 색인에
git add
) - 「스태시」:
git stash --keep-index
마지막 포인트는 다른 파일을 저장하는 동안 파일을 보관할 수 있는 것입니다.
이는 "변경된 여러 파일 중 하나의 파일만 저장하는 방법"에 설명되어 있습니다.
git checkout stash@{N} <File(s)/Folder(s) path>
예: 마지막 저장된 ./test.c 파일과 ./include 폴더만 복원하려면
git checkout stash@{0} ./test.c ./include
VonC의 답변은 아마도 여러분이 원하는 것이라고 생각합니다만, 여기 선별적인 "git apply"를 실행하는 방법이 있습니다.
git show stash@{0}:MyFile.txt > MyFile.txt
첫 번째 목록에는 모든 stash가 표시됩니다.
git stash list
↓
stash@{0}: WIP on Produktkonfigurator: 132c06a5 Cursor bei glyphicon plus und close zu zeigende Hand ändern
stash@{1}: WIP on Produktkonfigurator: 132c06a5 Cursor bei glyphicon plus und close zu zeigende Hand ändern
stash@{2}: WIP on master: 7e450c81 Merge branch 'Offlineseite'
그런 다음 저장된 파일을 표시합니다(stash 1을 선택합니다).
git stash show 1 --name-only
//Hint: you can also write
//git stash show stash@{1} --name-only
↓
ajax/product.php
ajax/productPrice.php
errors/Company/js/offlineMain.phtml
errors/Company/mage.php
errors/Company/page.phtml
js/konfigurator/konfigurator.js
다음으로 마음에 드는 파일을 적용합니다.
git checkout stash@{1} -- <filename>
또는 전체 폴더:
git checkout stash@{1} /errors
it, 이, 이, 이, 이, 이, it, it, it, it, it, it, it, it, it, it, it, it, it--
사용하는 것이 좋습니다.이 투고를 참조해 주세요.
또한 이중 하이픈을 옵션 해석을 중지하고 다음 인수를 문자 그대로 처리하는 신호로 인식하는 것이 일반적입니다.
또 하나의 방법:
git diff stash@{N}^! -- path/to/file1 path/to/file2 | git apply -R
Windows 사용자의 경우: PowerShell에서 곱슬곱슬한 괄호는 특별한 의미를 가집니다.작은 따옴표로 둘러싸거나 backtick으로 이스케이프할 수 있습니다.예를 들어 다음과 같습니다.
git checkout 'stash@{0}' YourFile
그렇지 않으면 다음 오류가 발생할 수 있습니다.
Unknown switch 'e'
네가 만약git stash pop
(경합이 없는 경우) 적용 후 은닉이 제거됩니다.하지만 만약 당신이git stash apply
스택 리스트에서 삭제하지 않고 패치를 적용합니다.그런 다음 원하지 않는 변경 사항을 다음과 같이 되돌릴 수 있습니다.git checkout -- files...
시험용
git stash show --name-only
결과
ofbiz_src/.project
ofbiz_src/applications/baseaccounting/entitydef/entitymodel_view.xml
ofbiz_src/applications/baselogistics/webapp/baselogistics/delivery/purchaseDeliveryDetail.ftl
ofbiz_src/applications/baselogistics/webapp/baselogistics/transfer/listTransfers.ftl
ofbiz_src/applications/component-load.xml
ofbiz_src/applications/search/config/elasticSearch.properties
ofbiz_src/framework/entity/lib/jdbc/mysql-connector-java-5.1.46.jar
ofbiz_src/framework/entity/lib/jdbc/postgresql-9.3-1101.jdbc4.jar
그런 다음 특정 파일에 저장된 파일을 팝합니다.
git checkout stash@{0} -- ofbiz_src/applications/baselogistics/webapp/baselogistics/delivery/purchaseDeliveryDetail.ftl
기타 관련 명령어
git stash list --stat
get stash show
언급URL : https://stackoverflow.com/questions/15264553/how-to-unstash-only-certain-files
'programing' 카테고리의 다른 글
npm 5에 의해 작성된 package-lock.json 파일을 커밋해야 합니까? (0) | 2023.04.11 |
---|---|
그림 제목과 축 레이블 글꼴 크기를 설정하려면 어떻게 해야 합니까? (0) | 2023.04.11 |
Excel 2007 VBA에서 Excel 워크시트의 맨 위 행을 프로그램 방식으로 고정하려면 어떻게 해야 합니까? (0) | 2023.04.11 |
SQL Server에서 LIMIT를 구현하는 방법 (0) | 2023.04.11 |
Spring Boot 어플리케이션용 JUnit @BeforeClass 비정적 대응 (0) | 2023.04.06 |