$ cd ~
$ mkdir [디렉토리명]
$ cd [디렉토리명]
$ cd ..
# print working directory
$ pwd
$ ls
$ ls -l
$ ls -a
tip: 옵션은 합쳐서 ls -al 처럼 사용이 가능하다.
$ rm -r [디렉토리명]
$ vim [파일명.확장자명]
$ clear
$ exit
$ git init
$ git config --global user.name "[사용자명]"
$ git config --global user.email "[사용자이메일명]"
$ git status
$ git add [파일명.확장자명]
$ git commit -m "[메시지명]"
$ git commit -a -m "[메시지명]"
$ git log
$ git log --pretty=oneline # 한줄로 표기하기
$ git show [커밋 id]
$ git diff
$ git diff [이전커밋 id] [이후커밋 id]
$ git checkout [커밋 해시]
$ git reset HEAD^ # 현재 HEAD의 이전 커밋으로 되돌리기
$ git reset HEAD~n # 현재로 부터 n 번째 이전 커밋으로 되돌리기
$ git reset [커밋 해시]
$ git reset --soft [커밋ID] # head 만 바뀜
$ git reset --mixed [커밋ID] # staging 도 그 때로 바뀜
$ git reset --hard [커밋ID] # working디렉토리/staging 모두 그 때로 바꿈
$ git revert [커밋 해시]
# 파일 수정 한 뒤
$ git add .
$ git commit --amend : 최신 커밋 수정
$ git branch [브랜치명]
$ git branch
$ git checkout [브랜치명]
$ git checkout -b [브랜치명] # 브랜치만들고 바로 이동
$ git branch -d 브랜치명
$ git log --oneline
$ git add .
$ git log --branches --graph
$ git merge [브랜치명]
$ git merge [브랜치명] --edit // 병합 후 바로 vi 편집기가 나오면서 커밋 메시지 수정 가능
$ git merge [브랜치명] --no-edit // 커밋 메시지 수정없이 바로 병합
$ git merge --abort
$ git remote add origin [github 레포지 주소]
$ git remote add origin [branch 이름] #없으면 생성됨
$ git remote -v
$ git push -u origin master
$ git push
$ git push origin master
$ git pull
$ git pull origin master
$ ssh-keygen
# 첫번째 커밋이 아니라면 풀 먼저하기
$ git remote remove origin
# 원격 저장소를 [지역저장소명]에 복제하기
$ git clone [원격 저장소 주소]
# 가져온 branch 내용은 origin/[브랜치] 로 저장됨
$ git fetch
#이후엔 diff 로 비교
$ git diff test origin/test # 브랜치 이름이 test일 경우 예시
$ git checkout FETCH_HEAD
$ git merge FETCH_HEAD
$ git checkout -b [브랜치명]
$ git push origin [브랜치명]
$ git remote remove origin
$ cat [파일명.확장자명]
$ cd init [디렉토리명]
$ git reset [커밋메시지] [커밋해시]
$ git branch [브랜치명] -d
$ git stash
$ git stash save
$ git stash list
$ git stash apply
$ git stash apply stash@{1}
$ git stash drop
$ git stash drop stash@{1}
$ git stash pop
ex) git log --pretty=oneline ➡ git history 라는 별명으로 바꾸기
$ git config alias.[별명] '원하는 명령어'
$ git config alias.history 'log --pretty=oneline'
$ git tag [태그이름][커밋 ID]
$ git tag Version_2 86a99 # tag 달기
$ git tag #tag 조회하기
$ git show Version_2