Git 기타 활용팁
각종 유용한 Git 명령어들 정리: mv, rm, restore, reset, diff
The information manager from Hell. - Linus Benedict Torvalds
mv¶
파일 및 디렉토리를 옮기거나 이름을 바꾸는 명령어
- 파일 및 디렉토리를 이동
- destination에 이미 파일이 있어도 강제로 이동
- 충돌나는 경우를 제외하고 이동
- dry-run을 통해 명령을 수행할 시 어떤 일이 일어날지 미리 보여줌
rm¶
파일을 워킹 트리와 인덱스에서 삭제하는 명령어
- 파일을 워킹 트리와 인덱스에서 삭제
- 파일을 git 저장소에서만 삭제
- 폴더를 git 저장소에서만 삭제
restore¶
git rm으로 지운 파일을 되살리는 명령어
Info
과거에는 git checkout이 restore와 switch을 합친 기능을 하는 명령어였고 옵션을 통해 제어했지만 현재는 쓰지 않을 것이 권장된다.
reset¶
현재의 HEAD를 특정 상태로 되돌린다. 모드가 입력되지 않을 경우 --mixed가 기본 옵션으로 작동한다.
- commit 취소 및 index(staging area) 리셋1, 변경된 파일들은 unstaged 상태로 워킹 디렉토리에 보존
- commit 취소, 변경된 파일들은 staged 상태로 워킹 디렉토리에 보존
- commit 취소, 모든 변경 내용은 워킹 디렉토리에서 삭제
Danger
git reset --hard를 사용하면 모든 변경 내역이 삭제되고 모든 내용이 지정된 commit으로 완전히 되돌려진다.
Tip
n번째 전의 commit으로 되돌리려면 아래와 HEAD~n 옵션 사용
특정 커밋으로 되돌리려면 아래와 같이 커밋 id 입력
diff¶
여러 가지 대상의 변경 사항들을 보여준다.
- 기본 명령어
- 변경된 파일들의 이름만 출력
- 특정 파일의 변경 사항만 출력
-
git add명령어 취소 ↩