반응형
Git: 디렉터리의 모든 파일을 다른 분기에서 복사합니다.
디렉토리에 있는 모든 파일을 다른 분기에서 복사하려면 어떻게 해야 합니까?다음을 수행하여 해당 디렉토리에 있는 모든 파일을 나열할 수 있습니다.
git ls-tree master:dirname
그런 다음 모든 파일을 개별적으로 복사할 수 있습니다.
git checkout master -- dirname/filename
하지만, 와일드카드를 사용하는 것은 지금까지 완전히 실패했습니다.이렇게 하면 아무 것도 안 됩니다.
git checkout master -- dirname/*.png
그렇게 하려면 bash 스크립트를 사용할 수 있다고 생각하지만, 더 쉬운 방법이 있어야 합니다, 그렇죠?
트리에서 파일을 이동하려는 것이 아니므로 디렉토리만 체크아웃할 수 있습니다.
git checkout master -- dirname
경로에 공백이 없고 저처럼 특정 확장자의 파일에만 관심이 있다면,
git checkout otherBranch -- $(git ls-tree --name-only -r otherBranch | egrep '*.java')
추적하지 않고 디렉터리를 복사하는 방법
git restore --source master dirname
제 경우 원본 지점 디렉터리에서 파일을 가져오는 가장 간단한 솔루션은 다음과 같습니다.
- origin - 원격 리포지토리 별칭(기본적으로 오리진) sourceBranchName
- 디렉터리에 필요한 파일이 있는 분기
- sourceBranchDirPath - 필요한 디렉토리에 대한 상대/절대 경로
파일
git checkout origin/sourceBranchName -- sourceBranchDirPath
예:
git checkout origin/validation_fix -- src/test/java/validation/
결과는 초안 모드(커밋되지 않음)에서 src/test/java/validation/상대 경로에 의해 origin/validation_fix 분기의 모든 파일이었습니다.
git checkout sourceBranchName :
sourceBranch에서 로컬 현재 분기에 이르기까지 모든 항목(루트 디렉터리)을 체크아웃할 수 있습니다.
제가 직접 테스트를 해봤습니다.Thx!
스청
언급URL : https://stackoverflow.com/questions/2668886/git-copy-all-files-in-a-directory-from-another-branch
반응형
'codememo' 카테고리의 다른 글
| Vuex에서 데이터를 업데이트하는 중 감시자에서 무한 루프 가져오기 (0) | 2023.07.13 |
|---|---|
| 사전에 전달된 모델 항목의 유형은 'mvc'입니다.Models.ModelA'이지만 이 사전에는 'mvc' 유형의 모델 항목이 필요합니다.모델.모델 B' (0) | 2023.07.13 |
| Oracle에서 Timestamp_to_scn 및 Scn_to_timestamp를 사용하는 방법은 무엇입니까? (0) | 2023.07.13 |
| 트랜잭션 내에서 테이블 잘라내기 (0) | 2023.07.13 |
| 오류: 사용자를 추가할 수 없음: 테스트에서 {createUser: (0) | 2023.07.07 |