깃 버전 확인하기
git --version
줄바꿈 오류 방지
#crlf는 carriage reture line feed의 약자.
git config --global core.autocrlf true #window
git config --global core.autocrlf input #Mac
사용자 이름,이메일 등록
git input user.name "user_name"
git input user.email "user_email"
이 외에도
git config --global user.name "user_name"
git config --global user.email "user_email"
사용자 등록확인
git config --list
사용자 이름, 이메일 확인
git config --global user.name
git config --global user.email
기본 브랜치이름을 main 으로 변경
git config --global init.defaultBranch main
깃 관리 시작하기
git init
깃 상태 확인하기
git status
특정 파일 담기
git add (파일이름)
모든 파일 담기
git add .
커밋하기
git commit
커밋메세지와 함께 커밋하기
git commit -m "커밋메세지"
add와 커밋을 한꺼번에 하기
git commit -am "커밋메세지"
깃 커밋 내역 화인하기
git log
git log --oneline
git log --all --decorate --oneline --graph
리셋하기
git reset --hard (되돌릴 커밋 해시값)
git reset --mixed (되돌릴 커밋 해시값)
git reset --soft (되돌릴 커밋 해시값)
리버트해서 과거 커밋으로 되돌리기
git revert (되돌릴 커밋 해시값)
커밋하기 않고 리버트하기
git revert --no-commit (되돌릴 커밋 해시값)
입력시작, 입력종료
i , esc
저장없이 종료, 강제종료, 저장하고 종료
:q, :q!, :wq
위로 스크롤, 아래로 스크롤
k,j
새 브랜치 생성하기
git branch (새 브랜치 이름)
브랜치로 이동하기
git switch (브랜치 이름)
브랜치 생성과 동시에 이동하기
git switch -c (새 브랜치 이름)
브랜치 삭제하기
git branch -d (삭제할 브랜치이름)
git branch -D (삭제할 브랜치이름) #강제
완전히 새로운 브랜치 만들기
git checkout --orphan new_branch
브랜치 병합하기
git merge (브랜치이름)
브랜치 리베이스하기
git rebase (브랜치이름)
머지중단하기
git merge --abort
리베이스 중단하기
git rebase --abort
충돌해결 후 리베이스
git rebase --continue
원격 저장소 목록 보기
git remote
원격 저장소 연결 삭제하게
git remote remove (origin 등 원격이름)
깃 저장소 복사하기
git clone (원격저장소주소) <- https냐 ssh냐로 다름
로컬에서 원격 저장소로 푸시하기
git push
원격저장소에서 로컬로 풀하기
git pull
머지 방식으로 병합하기
git pull --no-rebase
원격저장소에 맞춰 리베이스하기
git push --rebase
로컬의 작업내역을 강제로 푸시하기
git push --force
로컬과 원격 저장소의 브랜치 확인하기
git branch --all
원격저장소의 변경사항 확인하기
git fetch
파일 삭제하고 바로 커밋하기
git rm (파일이름)
파일 이름 변경하기
git mv (원래파일이름) (변경파일이름)
파일을 작업 디렉터리로 되돌리기
git restore --staged
git reset --hard
변경사항을 스테이지 영역에서만 제거하기
git reset --mixed (복사한 커밋 헤시값)
변경사항을 저장소에서만 제거하고 스테이지 영역에 남기기
git reset --soft (복사한 커밋 헤시값)
헤드 한 단계 뒤로 이동하기
git checkout HEAD^
헤드를 이용해 리셋하기
git reset (option) HEAD~ (원하는단계)
원격저장소의 최신 커밋을 로컬로 가져오기
git fetch
원격 저장소의 새 브랜치 확인하기
git checkout origin/(브랜치이름)
원격 브랜치와 연결하는 브랜치 만들기
git switch -t origin/(브랜치이름)
터미널에서 깃 명령어 확인하기
git help
특정 명령의 옵션 확인하기
git (명령어) -h
현재 모든 설정값 보기
git config (--global) --list
에디터에서 설정값 보기
git config (--global) -e
기본에디터를 vscode로 수정하기
git config --global core.editor "code --wait"
줄바꿈 호환 문제 해결하기(window/mac)
git config --global core.autocrlf true/input
풀할때 기본설정을 rebase로 설정하기
git config pull.rebase true
기본 브랜치 이름 main으로 지정하기
git config --global init.defaultBranch main
푸시할 때 로컬과 동일한 브랜치 이름 지정하기
git config --global push.default current
단축키 지정하기
git config --globall alias.(단축키) "(명령어)" #이때 git은 뺴야함.
헝크별로 스테이지하기
git add -p
변경사항 확인하고 커밋하기
git commit -v
변경 내용 치워두기
git stash
스태시한 변경사항 적용하고 삭제하기
git stash pop
스태시한 변경 사항 적용하기
git stash apply
스태시 목록 보기
git stash list
커밋 메세지 변경하기
git commit --amend
커밋 메세지 한줄로 변경하기
git commit --amend -,
깃에서 추적하지 않은 파일 삭제하기
git clean
작업 디렉토리의 특정 파일 복구하기
git restore (파일이름)
깃 작업 내역 확인하기
git reflog
태그 확인하기
git tag
마지막 커밋에 태그 달기
git tag (태그버전)
태그 삭제하기
git tag -d (태그버전)
태그 메세지 입력하고 태그 달기
git tag (태그버전) -m "태그메세지"
원하는 태그내용 확인하기
git show (태그버전)
원하는 버전으로 체크아웃하기
git checkout (태그버전)
원격 저장소에 특정 태그 하나 올리기
git push (원격저장소이름) (태그버전)
로컬에 있는 태그를 원격 저장소에 한 번에 올릴때
git push --tags
원격 저장소의 태그 삭제하기
git push --delete (원격저장소이름) (태그버전)
다른 브랜치의 커밋 가져오기
git cherry-pick (커밋 해싯값)
도착 브랜치에서 파생된 출발 브랜치를 이동할 브랜치로 옮겨붙이기
git rebase --onto (도착브랜치) (출발브랜치) (이동할 브랜치)
대상 브랜치의 마디를 하나로 묶어 main 브랜치로 가져오기
git merge --squash (대상브랜치)
각 커밋마다 변경 사항 함께 보기
git log -p
최근 n개 커밋만 보기
git log -(갯수)
최근 n개 커밋을 변경 사항과 함께 보기
git log -p -(갯수)
커밋 변경 내역 보기
git log --stat
커밋마다 태그와 커밋메세지 한 줄씩 보기
git log --oneline
변경 사항에서 단어 검색하기
git log -S (검색어)
커밋 메세지 기준으로 검색하기
git log --grep (검색어)
자주 사용되는 그래프로 로그보기
git log --all --decorate --oneline --graph
작업 디렉토리에서 변경 사항 확인하기
git diff
변경된 파일목록 확인하기
git diff --name-only
스테이징 영역으로 넘어간 변경 사항 확인하기
git diff --staged
커밋 간 차이 비교하기
git diff (커밋1) (커밋2)
브랜치 간 차이 비교하기
git diff (브랜치1) (브랜치2)
파일의 부분별로 작성자 확인하기
git blame (파일이름)
특정 부분을 지정해서 작성자 확인하기
git blame -L (시작줄) (끌 줄 또는 + 줄수) (파일이름)
이진탐색 시작/종료하기
git bisect start/reset
오류 발생 지점/양호 지점 표시하기
git bisect bad/good
오류 의심 지점으로 이동하기
git chekcout (해당 커밋 해싯값)