맥북에선 iTerm2, 윈도우에선 Cmder를 추천한다.
깃은 명령어 단위로 이루어진 간단한 프로그램이다.
- git
- 명령어 (config, add, commit,,, etc,,)
- -option
깃에는 총 3가지의 workflow가 존재한다.
1. 프로젝트의 파일들을 수정하는, 작업하고있는 working directory (또한 working directory는 엄밀히 말하면 또 두가지로 나눌 수 있다. 깃이 이미 알고 있는 파일인 tracked, 새로 만들어진 파일이거나 기존에 존재하던 프로젝트에서 깃을 초기화 하게되면 파일에 대한 정보가 전혀 없는데 이것을 untracked 카테고리로 분류한다.)
2. 어느정도 작업하다가 version history에 저장할 준비가 되어있는 file들을 옮겨놓는 staging area
3. version의 history를 가지고 있는 git repository 또는 git directory
git --version / 깃 버전 확인
git config --list / 깃에 관련된 모든 환경설정 확인
open .git / 해당 폴더에서 .git 폴더를 연다
rm -rf .git / 해당 폴더에서 .git 폴더를 삭제 (그냥 리눅스 명령어임)
git log / 로그 기록 보기
git commit -am "우아아아앙" / add와 commit 합친거 개꿀딱
git st -s / 현재 상태 요약해서 보기
git reset HEAD * / staging area에 저장되어있는 파일들을 모두 다시 working directory의 untracked된 상태로 돌아오게 된다.
예)
git status
git config --global alias.st status
이후부턴 git st 만 사용 가능
참고로 스테터스는 유용한 옵션이 있음
git 명령어 --h
ctrl(cmd) + k
git diff + vscode를 사용해서 아름답게 보기
git config --global core.editor "code --wait"
git config --global -e
vscode에서 아래 내용 추가[diff] tool = vscode [difftool "vscode"] cmd = code --wait --diff $LOCAL $REMOTE
다시 터미널로 돌아와서
git difftool 이라고 치면 Launch 'vscode' [Y/n]? 이라고 물어보는데 y라고 답하면 vscode에서 비교사항을 뿅 하고 확인할 수 있다.
stage에 저장된 내용만을 확인하고싶다면 옵션을 걸어주면 된다.
git difftool --staged