: 현재 상태 확인 명령어
git status // 현재 브랜치, 변경된 파일, 스테이징된 파일 조회 가능
: 스테이징 명령어
git add 파일명 // 해당 파일을 스테이징
git add 파일명 파일명 // 두 개 이상의 파일 스테이징
git add . 또는 git add * // 모든 파일은 스테이징
: 스테이징된 파일을 로컬저장소에 저장 명령어
git commit -m “첫 파일 만들었음”
: 커밋 기록 조회 명령어
git log--all --oneline // 내가 커밋한 내용을 쭉 보기.
git log--all --oneline --graph //-graph 옵션을 넣으면 그래프로 그려줌
// Vim 에디터가 켜져서 j, k 키로 위아래 스크롤이 가능하고 q 키로 종료할 수 있음.
: 커밋 비교 명령어
git diff // 최근 commit vs 현재파일 차이점을 보여줌
git difftool // 비주얼적으로 훌륭하게 차이점을 분석해줌
git difftool 커밋id // 현재 파일과 특정 commit의 차이점을 비교해줌
git difftoll 커밋id1 커밋id2 // 커밋1 vs 2 커밋 비교
: 스테이징 취소 명령어
git restore 파일명 // 최근 commit 된 상태로 현재 파일의 수정내역을 되돌림
git restore --source 커밋아이디 파일명 // 특정 커밋아이디 시점으로 복구
git restore --staged 파일명 // 스테이징 취소
: 특정 커밋으로 되돌아가는 명령어
git revert 커밋아이디 // 그 커밋 아이디만 취소한 커밋을 하나 생성해줌 (파일 여러개 가능)
: 특정 커밋으로 되돌리기 명령어
git reset —hard 커밋아이디 // 과거로 모든 걸 되돌리기 (협업시에 크면 큰일남)
git reset —soft 커밋아이디 // 변경사항을 다 삭제해버리진 않고, 커밋아이디 이후 변경사항은
//staging area에 남김. 그 다음 커밋하거나 할 수 있음
giot reset mixed // 변경사항이 스테이징 되지 않은 상태로 나와있음 그다음 에드랑 커밋 할수 있음.
: 브랜치 관련 명령어
git branch 브랜치이름 // 프로젝트 사본이 하나 생성
git branch -d 브랜치이름 // 병합 완료된 브런치 삭제시
git branch -D 브랜치이름 // 병합하지 않은 브랜치 삭제시
: 프랜치 이동 명령어
git switch 브랜치이름 // 해당 브랜치로 이동
git switch main // 다시 메인브랜치로 돌아가기
// 주의! 만드시 목적지 브랜치로 이동해서 합칠 브랜치를 불러야한다.
git switch main
git merge 브랜치명
git init // 레포지토리 생성
git push 원격저장소주소 // 모든 로컬저장소 브랜치 -> 원격저장소
git push 원격저장소주소 로컬브랜치명 // 특정 로컬저장소 브랜치 -> 원격저장소 ★
git push -u 원격저장소 주소 올릴로컬브랜치명 // -u 옵션은 주소를 기억하라는 뜻으로
//한 번 위처럼 작성하면 앞으로는 git push만 치면 됨.
git push // 현재 작업 폴더에 있는 로컬 저장소를 원격저장소에 푸시
git remote 변수명 add 주소 // 깃푸시 할떄 주소 너무 길어서 변수 문법으로 치환
// 관습적으로 origin으로 하는 경우가 많음.
// 다음부턴 git push -u origin main 으로 써주면 됨