Git(3)

이선민·2021년 12월 10일
0

Modifying files

Removing files

rm file.txt # 파일 삭제
git add file.txt # 스테이징 영역에 추가
git rm file.txt # 작업 디렉토리 및 스테이징 영역에서 파일을 제거
git rm --cached file.txt # 스테이징 영역에서만 제거
git clean -fd # 추적되지 않은 모든 파일을 제거

Moving files

git mv from.txt to.txt
git mv from.text /logs/from.text

Viewing the Staged/Unstaged changes

git status # 전체 상태
git status -s # 간략하게 보기
git diff # 작업 디렉토리의 변경 사항
git diff --staged # 변경 사항 보기
git diff -cached # --staged와 동일

Visual Diff Tool

.gitconfig를 열고 아래에 추가

[diff]
   tool = vscode
[difftool "vscode"]
   cmd = code --wait --diff $LOCAL $REMOTE

Git Diff 도구 실행

git difftool

Commit

git commit # 지연된 파일 커밋
git commit -m "Commit message" # 커밋 메시지와 함께 stagged 파일 커밋
git commit -am "Commit message" # 커밋 메시지와 함께 모든 파일 커밋

Log, History

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라는 이름으로 지정하지 않아도 된다)

0개의 댓글