앞에서 '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 |