git config --global use.email "각자 본인의 이메일"
git config --global use.name "각자 본인의 이름"
:q
: vi에디터 종료 git init
깃을 초기화
git status
깃으로 추적중인 파일과 추적중이지 않은 파일을 볼수 있다.
Changes to be committed: 이 영역은 스테이징 영역에 넘어가 있는 변경 내용을 보여줍니다.
Changes not staged for commit: 이 영역은 아직 워킹 디렉토리에 있는 변경 내용을 보여줍니다.
Untracked files: 이 영역도 아직 워킹 디렉토리에 있는 아직 한 번도 해당 Git 저장소가 관리한 적이 없는 새로운 파일을 보여줍니다.
git add 파일명
스테이징 영역으로 그 파일을 추가되고 관리대상이 된다.
*** 스테이징 영역 : 커밋할 준비가 된 변경 내용이 Git 저장소에 기록되기 전에 대기하는 장소
git add .
현재 작업 디렉토리에 있는 모든 파일을 스테이징 영역에 추가
.gitignore파일에 제외시킬 파일명 추가
한번이라도 커밋한 파일이라면
그 파일을 제거하고 커밋 후 .gitignore에 적어야 반영된다.
git add -A
작업 디렉토리 내의 모든 변경 내용을 몽땅 스테이징 영역으로 넘기고 싶을 때
git rm 파일명
깃에서 파일 삭제,
deleted된 파일은 스테이징 영역에 올라가 있는다.
rm 파일명
파일을 삭제하지만 그 파일은 스테이징되지 않는다.
즉,git rm
=rm
+git add
git reset --hard
스테이징된 삭제 파일이나 변경 파일을 마치 삭제되지도 않고, 변경되지 않은것처럼 만든다.
git commit
을 해야 비로소 파일이 삭제되고 파일의 내용이 변경된다.
git rm -f 파일명
수정한 파일 또는 Staged 상태인 파일을 강제로 삭제한다.
강제로 삭제하는 것이기 때문에 신중하게 써야 합니다.
git rm --cached 파일명
만약에 실제 로컬에는 파일을 남기고 Git 저장소에서만 삭제한다.
예를들면 설정파일 같은것들, 그런것들을 원격에서 제거해주지 않으면 사람마다 컴퓨터 환경이 다른데 내 깃헙 레포를 가지고 협업을 하려는 사람이 만약 clone혹은 pull을 받을때 그 사람의 설정파일이 완전히 깨져버리는 현상이 나타난다.
그럴때 이것을 미리 방지해주기 위해 --cached 옵션을 사용하면 유용할 것이다.