rm file.txt # 파일 삭제
git add file.txt # 스테이징 영역에 추가
git rm file.txt # 작업 디렉토리 및 스테이징 영역에서 파일을 제거
git rm --cached file.txt # 스테이징 영역에서만 제거
git clean -fd # 추적되지 않은 모든 파일을 제거
git mv from.txt to.txt
git mv from.text /logs/from.text
git status # 전체 상태
git status -s # 간략하게 보기
git diff # 작업 디렉토리의 변경 사항
git diff --staged # 변경 사항 보기
git diff -cached # --staged와 동일
.gitconfig를 열고 아래에 추가
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
Git Diff 도구 실행
git difftool
git commit # 지연된 파일 커밋
git commit -m "Commit message" # 커밋 메시지와 함께 stagged 파일 커밋
git commit -am "Commit message" # 커밋 메시지와 함께 모든 파일 커밋
See history
git log # 커밋 목록 (현재 브랜치의 커밋 이력을 보는 명령어)
git log --patch # 각 커밋에 도입된 차이점을 보여준다.
git log -p # --patch와 동일
git log --state # 각 커밋에 대한 축약된 상태
git log --oneline # 현재 커밋을 한 줄로 요약(간단하게 커밋 메시지와 제목만 보고 싶을 때)
git log --oneline --reverse # 오래된 커밋부터 보고 싶을 때
Formatting
git log --pretty=oneline
# --oneline과 동일
# --pretty 옵션 사용하면 원하는 대로 git log를 foramtting할 수 있다.
git log --pretty=format:"%h - %an %ar %s"
# 해쉬코드, author의 이름과 commit 된 date와 title까지 보고 싶은 경우
git log --pretty=format:"%h %s" --graph #
# 사용자가 원하는 방식으로 format을 만들 수 있다
git log --graph --all --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(white)%s %C(bold red)%C(reset) %C(blue)%d%C(reset)' --date=short
# 이렇게 format을 지정하면 사용자가 좀 더 편하게 log 결과를 볼 수 있다
# 다만 이렇게 설정하면 너무 길기 때문에 아래처럼 alias를 사용해서 명령어를 줄인다
$ git config --global alias.hist "log --graph --all --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(white)%s %C(bold red)%C(reset) %C(blue)%d%C(reset)' --date=short"
# 이렇게 hist 라는 이름으로 지정해주면 (꼭 hist라는 이름으로 지정하지 않아도 된다)