기타 공부

[Git] 실무에서 자주 사용되는 commands

git branch

// 현재 브랜치를 기준으로 "feature"란 브랜치 명으로 생성함
$ git branch feature
// "feature2" 브랜치의 내용을 "feature1"이란 브랜치 명으로 생성함
$ git branch feature1 feature2
// "feature" 이름을 가진 로컬 브랜치를 삭제함
$ git branch -d feature
// "feature1", "feature2", "feature3" 이름을 가진 브랜치를 삭제함
$ git branch -d feature1 feature2 feature3
// 브랜치 이름에 "feature" 단어를 포함한 브랜치들을 삭제함
$ git branch | grep feature | xargs git branch -d
// "feature1" 브랜치에 commit이나 merge가 남아있어도 강제로 브랜치를 삭제함
$ git branch -D feature1
// 현재 브랜치 명을 변경함
$ git branch -m feature/new

git checkout

// 브랜치를 "feature"로 이동한다.
$ git checkout feature
// 원격 브랜치의 "feature" 브랜치를 로컬에 복사 생성해준다.
$ git checkout -t origin/feature
// 현재 브랜치를 "feature"란 이름으로 복사해주고 브랜치 포인터를 이동시킨다.
$ git checkout -b feature
// working directory 상태에 있는 변경상태들이 제거된다.
// stage 단계에 존재하지 않으므로 git으로는 복구가 불가하다.
$ git checkout .

git stash

// tracked file의 변경사항을 되돌리고 변경사항을 stash list의 0번에 저장하고 기존 0번은 뒤로 밀려난다.
$ git stash
// tracked, untracked file의 변경사항을 되돌리고 변경사항을 stash list에 저장한다.
$ git stash -u
// 저장된 stash 목록을 조회한다.
$ git stash list
// stash list 0번 index의 내용을 branch로 merge 시킨다.
$ git stash apply 0
// 0번 stash를 제거한다.
$ git stash drop 0
// 0번 stash 내용을 apply drop 한다.
$ git stash pop
// stash list를 모두 제거한다
$ git stash clear

git push

// commit 내용을 origin 주소의 "feature" 브랜치에 push 함과 동시에 upstream을 설정한다.
$ git push origin -u feature
// 원격 저장소의 "feature" 브랜치를 삭제한다.
$ git push origin -d feature

git remote

// 원격 저장소의 브랜치들의 생성/삭제 상태를 최신으로 fetch 한다.
$ git remote update --prune

git merge

// merge conflict 상황에서 merge를 취소한다.
$ git merge --abort

git log

// push 되지 않은 commit 내용 확인한다.
$ git log --branches --not --remotes
// git 로그를 그래프로 출력한다.
$ git log --graph
// 커밋에 대한 정보(부모 커밋) 확인한다.
// 아래 이미지에서는 a28d3fe5 commit이 1번 부모, 4359c186 commit이 2번 부모
$ git log <commit> -n 1

git reset

// push 되지 않은 commit을 stage 상태로 되돌림
$ git reset --soft HEAD^

// push 되지 않은 commit을 working directory 상태로 되돌림
$ git reset --mixed HEAD^

// HEAD^ commit 시점이외의 status를 모두 제거함
// merge commit 제거에 쓰임
$ git reset --hard HEAD^

git revert

// merge commit을 revert 하는 경우, -mainline 옵션을 통해 부모 커밋을 정해줘야함
$ git revert <commit> -m 1

 

'기타 공부' 카테고리의 다른 글

[CSS] HTML table element 행렬 pivot하기  (0) 2023.10.11
ESLint, Prettier 적용하기  (0) 2023.03.16
MSA 한번에 이해하기  (0) 2021.11.16
나중에 보려고 스크랩 해둔 CORS 문제  (0) 2020.07.07
babel, webpack  (0) 2020.07.07