용어 정리
working tree: 현재 상태의 Git 디렉터리
staging area: git add를 통해 캡처된 파일들의 모임
local branch: git commit을 통해 커밋된 파일들은 현재 선택된 브랜치에 반영된다.
git config --global user.email=""; git config --global user.name=""
사용자 이메일, 이름 설정(필수). 처음 한 번 설정하면 변경할 일이 없다.
git clone <리포 URL>.git
리포지터리를 로컬에 복사한다.
git config --global credential.helper 'cache --timeout=3600'
한 번 입력한 크리덴셜을 3600초(한 시간)동안 기억한다.
git config --global credential.helper store
한 번 입력한 크리덴셜을 계속 기억한다.
git pull
원격 리포의 내용을 가져온다.
git add <파일 또는 디렉터리>
선택한 파일이나 디렉터리를 staging area에 추가한다.
git add .을 하면 현재 디렉터리 내 모든 파일이 staging 되는데, 제외할 파일이나 디렉터리를 .gitignore 파일에 명시하면 staging되지 않는다.
.gitignore 파일 예시:
.venv/
__pycache__/
test.py
git revert <파일 또는 디렉터리>
선택한 파일이나 디렉터리의 내용을 변경했지만 staging 되지 않은 상태(= git add 하지 않은 상태)에서 내가 수정했던 것들을 원래대로 되돌리고 싶을 때 사용한다.
git commit -m "커밋 메시지"
staging area에 있는 내용을 현재의 브랜치에 반영한다.
git push
local branch의 내용을 원격 리포에 올린다.
git diff --cached --name-only
staging area의 내용 중 파일명만 출력한다. (git add .를 통해 staging 된 파일을 확인하는 데 유용함)