$ pwd : 현재 위치 경로 확인$ ls : 현재 디렉터리에 있는 파일/디렉터리 목록 보기ls 명령 옵션 모음
ls -l: 파일과 디렉터리의 상세 정보까지 표시
ls -a: 숨긴 파일과 디렉터리를 표시
ls -r: 파일의 정렬 순서를 반대로 표시
ls -t: 파일 작성 시간 순으로 표시
(파일 자세히 보면 맨앞 d : 디렉터리, - : 폴더, l : 링크)
$ cd : 디렉터리 사이를 이동cd 명령 옵션 모음
cd: 현재 접속중인 사용자의 홈 디렉터리로 이동
cd /: 가장 상위 디렉터리로 이동
cd ../: 하나 상위 디렉터리로 이동
cd (디렉터리명): 해당 디렉터리로 이동
$ mkdir : 현재 디렉터리 안에 하위 디렉터리를 만듦$ rmdir : 현재 디렉터리 안에 하위 디렉터리를 삭제함(빈 디렉터리만 삭제)$ rm -rf : 폴더 강력 삭제(안에 파일이 있어도 삭제)$ touch : 빈 파일 생성(해당 파일이 없으면 만들고, 있으면 수정날짜를 현재시간으로 만들어줌)$ cp <원본> <타겟> : 파일 복사$ mv <원본> <타겟> : 파일 이름 변경 (mv 파일 파일), 이동 (mv 파일 폴더)$ rm -f <파일명> : 파일 삭제(파일명에 *입력 시, 디렉터리 내 파일 전체삭제)$ vi <파일명> : 파일 수정vi 명령 옵션 모음
- i : 편집모드
- esc : 다시 명령모드로 빠져나오기
- :w : 저장
- :q : 나가기 (수정후에 그냥 나가려고 하면 안나가짐)
- :wq : 저장 후 나가기
- :q! : 수정한거 저장 안하고 나가기
$ cat <파일명> : 내용 보기



용어정리
add - 작업 디렉터리 내용을 스테이지에 올림
commit - 스테이지의 내용을 저장소에 올리는 것 , 버전을 commit으로 부르기도 함(버전- 논리적, 커밋- 물리적)
commit hash(커밋 해시) - 각각의 버전에 지칭된 고유한 정보(ID), 너무 길어서 앞에 7자리 잘라서 사용 (gui 보다 text모드에서 훨씬 중요)
tag(태그) - 특정 커밋을 좀 더 가독성 있도록 붙이는 꼬리표(버전 명으로 붙인다 실무에서 ver 1.0.0 이런식)
저장소를 만들고 싶은 디렉터리로 이동해서 깃을 초기화 git init하면 그때부터 해당 디렉터리에 있는 파일들의 버전을 관리할 수 있다.
$ git status : 깃 상태를 확인할 때 사용$ git add : 작업 디렉터리에서 스테이지로 수정사항을 올릴 때 사용깃의 상태를 나타내는 메시지의 의미
1. On branch master : 현재 master 브랜치에 있다.
2. No Commits yet : 아직 커밋한 파일이 없다.
3. nothing to commit : 현재 커밋할 파일이 없다.
커밋할 때는 그 버전에 어떤 변경 사항이 있었는지 확인하기 위해 메시지를 함께 기록해 두어야 한다.
$ git commit -m "커밋 메시지"$ git commit -am "커밋 메시지" : 한 번이라도 커밋한 적이 있는 파일을 다시 커밋할 때 스테이지에 올리고 커밋하는 과정을 한 번에 처리 가능$ git log : 현재까지 커밋했던 기록을 살펴보기 위한 명령

$ git log --oneline : 현재까지 커밋했던 기록을 한 줄로 볼 수 있음(커밋해시 일곱자리로 보여줌)

$ git log --patch : 각 커밋이 어떤 변경사항이 있는지 보여줌
$ git log --graph : 소스트리의 그래프를 터미널로 보여줌

$ git log --oneline --graph : 옵션을 섞을 수도 있음
$ git diff : 지금까지의 작업과 최신 커밋의 차이를 알려줌
git diff 옵션 모음
$ git diff --staged,$ git diff --cached: 스테이지와 비교함
$ git diff <old커밋해시> <new커밋해시>: new가 old에 비해서 달라진 것
$ git tag <태그명> : 최신 커밋에 태그$ git tag <태그명> <커밋해시번호> : 특정 커밋에 태그 달기태그 목록 보기
$ git tag
$ git tag --list
$ git tag -l
태그 떼기
$ git tag --delete <태그명>
$ git tag -d <태그명>
$ git revert <마지막커밋해시>$ git reset --soft 커밋 사실만 지우기$ git reset (--mixed)스테이지에 추가한 사실까지 지우기$ git reset --hard 작업 디렉터리 변경사항까지 지우기git status -> 아무것도 안나옴
git diff -> 아무것도 안나옴
작업 디렉터리 수정
git status -> 수정 표시됨
git diff -> 수정된 내용 보임
$ git statsh : 임시 저장
$ git statsh list : 임시 저장 리스트가 나옴. stash@{0}이 가장 최근 저장. 오래될수록 숫자 커짐
$ git stash -m "message" : 작업 내용 메시지를 남김
$ git stash apply stash@{번호} : 임시 저장을 적용
$ git stash drop stash@{번호} : 임시 저장을 삭제