앞에서 'rm'에 대해서 알아보았고, 이번에는 'mv'에 대해서 알아보도록 하겠다.
'mv'와 'rm'이 비슷하게 사용될 것 같지만, 좀 다르다!


1. mv


$ mv ./mv_test.txt ./mv_test_action.txt
$ git status

Git으로 관리를 하고 있는 파일의 이름을 바꿨을 뿐인데, 'git status'를 하면 뭔가 많이 바뀌어 있다.

   - 기존 파일은 삭제가 되고,
   - 변경한 파일 이름으로 새로운 파일이 등록


2. git mv


$ git mv ./mv_test.txt ./mv_test_action.txt
$ git status

'git mv'를 통해서 파일명을 변경하게 되면,
위 스크린샷에서 확인할 수 있는 것처럼 'renamed'로 인지하게 된다.



하지만, 'git mv'를 하게 되어도 그 과정은 결국 3단계로 수행이 된다.
   - [ mv A파일 B파일 ]
   - [ git rm A파일 ]
   - [ git add B파일 ]

이렇게 3단계로 처리를 하는 것도 나쁘지는 않지만,
그냥 한 번에 'git mv'로 처리하는 것을 추천한다!



Git 은 위와 같이 파일명을 변경하여도 rename에 대한 metadata로 저장되지는 않지만,
위와 같이 처리가 될 경우 이를 rename이라고 알아챈다.

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Log - gitk  (0) 2012.02.15
Log - git log  (2) 2012.02.14
Upgrade GIt (in Ubuntu)  (0) 2012.02.13
Remove file - git rm  (0) 2012.02.12
Git Remote Repository (git init --bare)  (0) 2012.02.11

+ Recent posts