git 쓰기 전 작업용 폴더에서 init
git init
파일 현재 상태 스테이징 시 +파일명
git add 파일명
모든 파일 스테이징 시
git add .
기록 후 메시지 남기기
git commit -m "메시지"
저장 후 상태창 열기
git status
commit 내역 조회 시
git log --all --oneline --graph
최근 commit 파일과 현재 파일 차이점 보기
git diff
git difftool
커밋아이디 입력 시 비교 가능
git difftool 커밋아이디1 커밋아이디2
근데 툴이 쓰레기라 확장 프로그램 사용하는게 나음
git 브랜치 만들기
git branch 브랜치명
git checkout -b 브랜치명
브랜치 이동
git switch
git checkout 브랜치명
브랜치 삭제
git branch -d 브랜치명
브랜치 합치기
1. 작업하는 브랜치로 이동
2. 합칠 브랜치명 입력
git merge 브랜치명
🚨 브랜치 충돌 시
1. 원하는 코드만 수정한 뒤
2. git add, commit 진행
파일 복구하는 법
git restore 파일명
특정 커밋 시점으로 파일 복구
gir restore --source 커밋아이디 파일명
스테이징 취소
git restore --staged 파일명
commit 취소하는 법
1. i : 커밋 입력
2. :wq : 저장 후 닫기
git revert 커밋 아이디
최근 commit 취소하는 법
git revert HEAD
과거로 되돌리기
git reset --hard
git reset --hard 커밋아이디
🚨 커밋 내용 사라짐으로 해당 명령어 협업 시 사용 어려움
리셋 시 변동사항 안 지우고 스테이징
git reset --soft 커밋아이디
리셋 시 변동사항 안 지우고 스테이징X
git reset --mixed 커밋아이디
스테이징 후 커밋 안 한 코드 저장하기
git stash
메모 작성 시 save
git stash save '메모'
저장한 코드 내역 조회
git stash list
코드 다시 불러오기(가장 최근 내역부터)
git stash pop
저장 코드 최근 1개 삭제
git stash drop
저장 코드 전체 삭제
git stash clear
git init
git branch -M main
git add .
git commit -m "메시지"
git push -u 원격저장소주소 로컬브랜치명
원격저장소 주소 변수 할당
git remote add origin 원격저장소주소
git push -u origin main
원격저장소 복제
git clone 원격저장소주소
🚨 원격저장소 != 로컬저장소 경우 충돌 발생
원격저장소 내용 가져와야 함 -> 신규 내용이어야 git push 가능
git pull 원격저장소 브랜치명
git pull = fetch + merge
git fetch: 원격저장소 신규커밋 가져오기
git merge: 해당 브랜치에 merge
git 3-way, fast-forward, squash, rebase
git flow / trunk-based