head :현재 보고있는거
master : 이동하기
reset : 다 뒤로
checkout : detached - branch 이동안하고 head만 이동
git branch dev
tag : 고저어
git config --global --list
git init : 현재 dir에 local repo(git)가 생성
mkdir : 디렉토리 생성
git add
git commit -m ""
git log
git log --oneline
untracked
tracked
git restore --staged : staged area에서 제거
git rm --cached file명
git reset 파일명
git reset 모든 폴더와 파일ㅇ르 staging area에서 삭제
git clean -f <--- 파일만 삭제
git clean -fd <--- 파일과 폴더 모두 삭제
git clean -fdx <--- 파일과 폴더 + .gitignore까지 삭제
git clean -i <--- interactive mode로 삭제(메뉴가 나타남)
작업 시작전 항상 fetch & merge -> 자기꺼 수행 -> pr -> merge
git merge --abort : 머지 취소, 머지가 conflict로 인해서 멈출경우 취소혹은 완료로 마무리 필요
만약 안해서 conflict날시, rebase를 하면 된다. or merge
rebase 방법
1. rewind -> 잠깐 뒤로 간다.
2. 원격에서 pull 가지고 오고
3. ff -> 다시 뒤로 돌아간 거 올린다.
4. pr 다시 날리면 conflict 가 생긴다.
merge
1. fetch하면 new와 base 마지막 commit이 2개가 생김
2. 그걸 또 합쳐서 새 commit 생성
-ff merge : master가 dev에서 먼저간 branch 로 이동만 하는 것
no -ff merge : master가 이동할 때 새로운 commit을 만든다.