TL;DR

  • 폴더, 파일 이름 변경을 git이 μΆ”μ ν•˜κ²Œ ν•˜λŠ” git mv λͺ…λ Ήμ–΄ μ‚¬μš©λ²•
  • macOS case-insensitive νŒŒμΌμ‹œμŠ€ν…œμ—μ„œ λŒ€μ†Œλ¬Έμžλ§Œ λ°”κΏ€ λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜
  • 쀑간 μž„μ‹œ 폴더λͺ…을 거쳐 λŒ€μ†Œλ¬Έμž 변경을 μš°νšŒν•˜λŠ” 방법

문제

λ§Œμ•½ κΈ°μ‘΄ git repository 에 μ†ν•œ 폴더 ν•˜λ‚˜κ°€ β€œGit/” μ΄μ—ˆλŠ”λ° 이것을 β€œgit/β€œμœΌλ‘œ λ°”κΎΈκ³  μ‹Άλ‹€κ³  ν•΄λ³΄μž
git은 파일의 λ³€ν™”λ§Œ μΆ”μ ν•˜κΈ° λ•Œλ¬Έμ— 직접 폴더λͺ…을 μˆ˜μ •ν•΄λ„ 이 λ³€ν™”λ₯Ό κ°μ§€ν•˜μ§€ λͺ»ν•œλ‹€

git mv

μ΄λ•Œ μ‚¬μš©ν•  수 μžˆλŠ” λͺ…λ Ήμ–΄κ°€ git mv 이닀.

git mv <old-name> <new-name>

곡식 referenceλŠ” λ‹€μŒκ³Ό κ°™λ‹€
폴더, 파일, symlinkλ₯Ό μ΄λ™ν•˜κ±°λ‚˜ 이름을 λ³€κ²½ν•  λ•Œ μ‚¬μš©ν•˜λ©΄ λœλ‹€

적용

ν˜„μž¬ λ‚΄κ°€ κ°–κ³  μžˆλŠ” 폴더 κ΅¬μ‘°λŠ” content/Dev/Git 이고 λ‚˜λŠ” 이것을 content/Dev/git 으둜 μˆ˜μ •ν•˜κ³  μ‹Άμ–΄μ„œ λ‹€μŒμ„ μ‹€ν–‰ν–ˆλ‹€

git mv content/Dev/Git content/Dev/git

그럼 λ‹€μŒκ³Ό 같은 였λ₯˜κ°€ λ°œμƒν•œλ‹€

μ΄λŠ” 기본적으둜 macOS νŒŒμΌμ‹œμŠ€ν…œμ΄ case-insensitive, 즉 λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λ°œμƒν•˜λŠ” 문제둜
λ‹€μŒκ³Ό 같이 쀑간에 κ±°μ³κ°€λŠ” μž„μ‹œ 폴더λͺ…을 λ§Œλ“œλŠ” κ²ƒμœΌλ‘œ 살짝 μš°νšŒν•  수 μžˆλ‹€

git mv content/Dev/Git content/Dev/temp     // μž„μ‹œλ‘œ 폴더λͺ…을 'temp'둜 λ°”κΏˆ
git mv content/Dev/temp content/Dev/git

그러면 μ•„λž˜μ™€ 같이 renamed라고 ν‘œμ‹œκ°€ λ˜λŠ” 것을 μ•Œ 수 μžˆλ‹€

이제 git add, commit을 ν•΄μ£Όλ©΄ μ›ν•˜λŠ”λŒ€λ‘œ μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€