반응형
branch 조회
# 로컬 브랜치 조회
git branch
# 원격 브랜치 조회
git branch -r
# 전체 브랜치 조회
git branch -a
# 최신 commit id, message를 포함하여 조회
git branch -v
# 브랜치 필터링해서 조회(아래는 feature/로 시작하는 브랜치 조회)
git branch --list "feature/*"
branch 생성
git branch {new_branch_name}
branch 이름 변경
# 현재 브랜치명을 새 브랜치명으로 변경
git branch -m {new_branch_name}
branch 삭제
# 로컬 브랜치 삭제
git branch -d {branch_name}
# 로컬 브랜치 여러개 삭제
git branch -D {branch_name_1} {branch_name_2}
# 원격 브랜치 삭제
git push origin --delete {branch_name}
checkout
# 새 브랜치 생성하고 checkout
git checkout -b {new_branch_name}
# 원격 브랜치를 checkout
git checkout -b {new_branch_name} origin/{branch_name}
# 원격 브랜치를 checkout(원격 브랜치명과 동일한 로컬 브랜치명으로 체크아웃)
git checkout {branch_name}
git checkout -t origin/{branch_name}
push
git push origin {branch_name}
fetch
# 원격 브랜치 동기화
get fetch --prune
git tag 모두 삭제
- windows
FOR /f "tokens=*" %a in ('git tag') DO git tag -d %a
원격 refs 목록 보기
# refs 전체 조회
git ls-remote --refs <git_remote_url>
# branch 조회
git ls-remote --heads <git_remote_url>
# tag 조회
git ls-remote --tags <git_remote_url>
커밋 이력을 하나로 병합하기 - squash merge
- master에서 딴 커밋 이력이 많은 브랜치 : develop
- master에서 딴 새 브랜치 : develop-new
git checkout develop-new
git merge develop --squash
git commit -m "커밋 이력을 하나로 병합"
git push origin develop-new
상태 확인
git status -s
D README1.md // 삭제
M README2.md // 수정
A README3.md // 추가
?? README4.md // git 대상 아님
git 대상으로 추가(?? -> A 상태로 만들기)
전체 추가git add --all
특정 파일만 추가
git add README1.md README2.md
git 대상에서 제외(?? 상태로 만들기)
전체 제외git reset
특정 파일만 제외(A -> ??)
git reset README1.md README2.md
현재 상태 상관 없이 제외(* -> ??)
git rm --cached -f -- README1.md README2.md
특정 파일 롤백
수정/삭제된 상태일 경우git checkout HEAD -- README1.md README2.md
추가된 상태일 경우
git rm --cached -f -- README1.md README2.md \
&& rm README1.md README2.md
반응형
'Development > Git' 카테고리의 다른 글
[GitHub] GitHub Pages Jekyll 테마 적용하기 (0) | 2019.05.25 |
---|---|
[GitHub] GitHub Pages 사용하기 (0) | 2019.05.25 |
[Git] Merge vs Rebase (0) | 2019.05.19 |
[Git] 설치하기 (0) | 2019.05.11 |
[Git] ssh 설정으로 로그인 없이 git 접근하기 (0) | 2019.01.03 |