Git으로 파일 복사 작업 기록
git-mv를 사용하여 git에서 파일을 이동하면 상태가 파일 이름이 바뀌 었음을 보여 주며 일부 부분을 변경하더라도 여전히 거의 같은 것으로 간주됩니다 (이력을 따라갈 수 있기 때문에 좋습니다) .
파일을 복사하면 원본 파일에 몇 가지 기록이 있습니다. 새 사본과 연결하고 싶습니다.
파일 이동을 시도한 다음 원래 위치에서 다시 체크 아웃하려고했습니다. 한 번 이동하면 자식 위치로 원래 위치를 체크 아웃 할 수 없습니다.
파일 시스템 복사를 시도한 다음 파일을 추가하려고 시도했습니다-자식은 파일을 새 파일로 나열합니다.
히스토리를 원래 파일로 추적 할 수있는 파일 이름 바꾸기 / 이동을 기록하는 방법과 비슷한 방식으로 git record 파일 복사 작업을 수행하는 방법이 있습니까?
Git은 이름 변경 추적이나 복사 추적을 수행하지 않으므로 이름 변경이나 사본을 기록 하지 않습니다 . 대신 이름 바꾸기 및 복사 감지가 수행 됩니다. 당신은 이름 바꾸기에서 감지 요청할 수 있습니다 git diff
(및 git show
사용) -M
옵션을, 당신은 사용하여 변경된 파일에 추가 복사본 탐지를 요청할 수 있습니다 -C
옵션 ( -C
의미를 -M
), 당신은 모든 파일들 사이에서 더 비싼 복사 탐지를 요청할 수 있습니다 --find-copies-harder
또는 -C -C
의미있는 ( -C
의미있는, -M
). git-diff 맨 페이지를 참조하십시오 .
당신은 또한 구성 자식에 항상 설정하여 이름 바꾸기 감지 할 diff.renames
부울 진정한 가치 (예 :에 true
또는 1
), 당신은으로 설정하여도 복사 감지 할 자식을 요청할 수 있습니다 copy
또는 copies
. git-config 맨 페이지를 참조하십시오 .
-l
옵션 git diff
및 관련 구성 변수 도 확인하십시오 diff.renameLimit
.
git log <pathspec>
Git에서 다르게 작동 한다는 점에 유의 하십시오. 여기서 <pathspec>
경로 구분 기호 집합이 있습니다. 여기서 경로는 (하위) 디렉토리 이름 일 수 있습니다. 이름 변경 및 복사 감지가 시작 되기 전에 기록을 필터링하고 단순화 합니다. 이름 바꾸기 및 사본을 따르려면 git log --follow <filename>
(현재 약간 제한되어 있으며 단일 파일에서만 작동합니다)를 사용하십시오.
Git이 복사 된 파일의 히스토리를 탐지하도록 강제 할 수 있습니다 :
- 복사하는 대신 새 분기로 전환 하여 파일을 새 위치 로 이동 하십시오.
- 원래 분기로 전환하고 파일 이름을 바꿉니다.
- 새 파일을 원래 지점으로 병합하여 두 파일을 모두 유지하여 사소한 충돌을 해결하십시오.
- 별도의 커밋으로 원래 파일 이름을 복원하십시오.
(솔루션은 https://stackoverflow.com/a/44036771/1389680 에서 가져 왔습니다 .)
참고 URL : https://stackoverflow.com/questions/1043388/record-file-copy-operation-with-git
'IT박스' 카테고리의 다른 글
시각적 입력을 사용하여 디아블로 2를 재생하도록 인공 신경망을 훈련시키는 방법은 무엇입니까? (0) | 2020.07.01 |
---|---|
웹 API와 웹 서비스의 차이점은 무엇입니까? (0) | 2020.07.01 |
.bashrc, .bash_profile 및 .environment의 차이점은 무엇입니까? (0) | 2020.07.01 |
파이썬에서 네임 스페이스 패키지를 어떻게 만듭니 까? (0) | 2020.07.01 |
PowerShell에서 콘솔에 쓰는 가장 좋은 방법 (0) | 2020.07.01 |