iOS 응용 (swift)
[iOS - swift] Xcode에서 깃 히스토리를 유지하면서 파일 이동 방법 (git history 보관, 파일 이동, 그룹 이동, git move, git mv)
jake-kim
2023. 6. 14. 01:24
파일 이동 방법
- Xcode 에서 보통 파일을 이동 시킬때 파일을 마우스로 클릭하고 드래그앤 드롭으로 파일을 이동시키는데, 이렇게 이동시키게 되면 git history가 파일 이동으로 덮어씌워지는 현상이 발생
- 그룹 통째로 이동시키게 되면 file copy가 아닌 file reference가 복사되는 경우가 발생
- git mv를 활용하여 파일을 이동시키면 깃 히스토리도 유지되고 file reference가 복사되지 않으므로 이 방법을 사용을 권장
git mv 명령어
- git mv [이동시킬 파일] [이동될위치]
% git mv
usage: git mv [<options>] <source>... <destination>
-v, --verbose be verbose
-n, --dry-run dry run
-f, --force force move/rename even if target exists
-k skip move/rename errors
--sparse allow updating entries outside of the sparse-checkout cone
ex) Views 폴더 통째로 Apps 하위로 이동시키고 싶은 경우

- 경로를 쉽게 알기 위해서 Views을 클릭 > 오른쪽 indicator를 열고 Full Path에서 Views 경로를 확인

/Users/jake/Desktop/ExGitMove/ExGitMove/Views
- 이동될 위치인 Apps 폴더를 선택하고 마찬가지로 경로를 확인

/Users/jake/Desktop/ExGitMove/ExGitMove/Apps/
- git mv를 통해 이동
git mv /Users/jake/Desktop/ExGitMove/ExGitMove/Views /Users/jake/Desktop/ExGitMove/ExGitMove/Apps/
| before | after |
![]() |
![]() |
- 파일들은 이동 되었지만 Xcode에서 reference 설정만 안되었으므로 따로 reference 설정 필요
- Add Files to "ExGitMove" 선택

- Create groups 선택하여 이동시켰던 폴더를 선택

- 이동시켜서 빨간색으로 표시되었던 폴더도 삭제

(완료)

* 전체 코드: https://github.com/JK0369/ExGitMove
* 참고

