저장소에 파일을 추가/삭제, 까먹는(forget) 방법.
/******************************
add : 저장소에 파일 추가
******************************/
// 저장소 상태 확인 - added.txt란 파일이 tracked 되지 않은 상태이므로 추가해야 함
C:\rep> hg status
? added.txt
// 저장소에 added.txt 파일 추가
C:\rep> hg add added.txt
// 옵션
-I 혹은 --include 패턴 : 추가할 파일명의 패턴 지정. 여러개 지정 가능.
-X 혹은 --exclude 패턴 : 추가에서 제외할 파일명의 패턴 지정. 여러개 지정 가능.
-S 혹은 --subrepos : sub-repository 포함.
-n 혹은 --dry-run : 실제로 추가하지는 않고 뭐가 추가될 지 미리 볼 수 있음.
// 추가한 파일을 커밋하기 전에 제외시키고 싶다면 hg forget 사용
// added.txt란 파일이 추가되어 다음 커밋에서 적용될 예정
C:\rep> hg status
A added.txt
// added.txt란 파일을 제외
C:\rep> hg forget added.txt
C:\rep> hg status
? added.txt
/******************************
remove : 저장소에서 파일 삭제
- 짧게 rm 만으로도 가능
******************************/
// added.txt 란 파일을 저장소에서 삭제
C:\rep> hg rm added.txt
C:\rep> hg status
R added.txt
C:\rep> hg commit -m "remove added.txt"
// 이제 added.txt 는 저장소에서 사라졌음
// 현재 add 되어 A 상태인 파일을 삭제하려면 -f 옵션 사용
C:\rep> hg status
A removed.txt
// 그냥 rm 명령어로 삭제하려하면 삭제가 안됨
C:\rep> hg rm removed.txt
not removing removed.txt: file has been marked for add (use forget to undo)
C:\rep> hg rm -f removed.txt
// 실제로 삭제는 되지 않고 untracked 상태로 변함
C:\rep> hg status
? removed.txt
/******************************
addremove : 새 파일은 추가하고 지워진 파일은 삭제처리
******************************/
// added.txt 란 파일이 추가되어 있고, missing.txt란 파일이 hg remove가 아닌 외부요인으로 삭제되어 있음
C:\rep> hg status
? added.txt
! missing.txt
// addremove 시도
C:\rep> hg addremove
adding added.txt
removing missing.txt
// 결과확인
C:\rep> hg status
A added.txt
R missing.txt
'버전관리' 카테고리의 다른 글
[Mercurial] extdiff를 이용하여 원하는 프로그램으로 diff 하기 (extdiff, cmd) (0) | 2014.07.31 |
---|---|
[Mercurial] 원격 저장소 지정 (remote repository) (0) | 2014.07.31 |
[Mercurial] hg annotate (파일의 어느 부분을 누가 언제 작성했는가) (0) | 2014.07.31 |
[Mercurial] hg status - 저장소 상태출력 (0) | 2014.07.31 |
[Mercurial] named branch (0) | 2014.07.31 |