2017-04-19 3 views
0

OS 기본 명령 또는 GUI를 사용하여 일부 파일을 이동할 때 git은 트랙을 잃고 생각 파일이 삭제되고 새 파일이 만들어집니다! git mv 명령을 사용하여 작동합니다. 그러나 그것은 폴더 또는 와일드 카드 이동을 지원하지 않습니다 (그럴까요?)누락 된 파일 기록없이 폴더 다시 구성

기록을 놓치지 않고 파일 및 폴더를 재구성하는 가장 좋은 방법은 무엇입니까?

답변

0

Git by design은 파일 이름을 기록하지 않고 런타임에 파일 기록을 계산합니다. 이것은 파일/폴더를 재구성하는 "최선의 방법"과 같은 것이 없다는 결과를 가져옵니다. 그러나 Git은 파일의 내용을 비교하여 이름을 결정하기 때문에 파일 을 내용을 수정하려는 경우 파일 이름 바꾸기와 다른 커밋 만 포함하는 하나의 커밋을 사용하는 것이 좋습니다 콘텐츠 수정.

Git이 이름 바꾸기를 계산하는 방법과 관련된 플래그는 git log-C-M 옵션을 참조하십시오.

0

git의 프로토콜로 인해, 우리가 파일을 옮기기 전에 git commit은 약간의 영향을줍니다. 커밋은 사실 모든 파일의 스냅 샷이며 이전 커밋과 다른 점은 없습니다.

이것은 실제로 "추적"할 수는 없지만 파일 이동을 "복구"해야 함을 의미합니다.

일부 git 명령 (GUI 일 수도 있음)은 실제로이를 잘 수행합니다. 이것은 이동을 포함하여 파일 변경을 나열하는 데 사용하는 git 명령입니다.

$ git log --follow -- [FILES]