programing

특정 파일만 해동하려면 어떻게 해야 합니까?

closeapi 2023. 4. 11. 22:02
반응형

특정 파일만 해동하려면 어떻게 해야 합니까?

거스름돈은 따로 뒀어요.이제 저장소에서 일부 파일만 해동합니다.이거 어떻게 해?

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>

Vivek코멘트에 다음과 같이 덧붙입니다.

아예'처럼 생겼네요.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

반응형