220707 - TIL
분기점을 생성하여 독립적으로 코드를 변경할 수 있도록 도와주는 모델
💡 브랜치명: 이 브랜치에서 어떤 일을 할것인지 설명하는 이름으로 설정
$ git branch
: Show available local branch$ git branch -r
: Show available remote branch$ git branch -a
: Show available All branch$ git branch 브랜치명
: 브랜치 생성$ git branch switch
: 브랜치 이동$ git switch -b 브랜치명
: Create & switch branch$ git merge 브랜치명
: merge는 당기는 느낌으로, 머지할 브랜치로 이동 후 머지를 해야함.$ git branch -D 브랜치명
: 브랜치 삭제, 기능 완료 후 머지한 브랜치는 바로 삭제하는 것이 좋음.$ git push -u origin 브랜치명
: github에 ‘처음’으로 브랜치를 push할 경우$ git fetch origin main
$ git pull origin main
$ mv style.css login.css
: 기존 파일(style.css)가 삭제 되고 내용이 같은 새로운 파일(login.css)이 생성되는 것!
👉🏻 $ mv bye.md hello.md
: 실수로 git을 작성하지 않고 바꿨으면 다시 되돌리면 됨!
$ git mv style.css login.css
: git을 붙이면 파일명만 바뀌게 됨!!
$ git restore [file name]
: 수정 전 상태(HEAD상태)로 돌아감.$ git restore .
: 변경된 모든 파일 수정 전 상태로 돌아감.$ git restore --source [commit hash] [file name]
: 특정 파일을 특정 commit으로 복구함.$ git restore --staged [file name]
: add하기 전 상태(unstaging)로 돌아감.$ git commit --amend
: (직전의)최신 커밋의 메세지를 수정하는 방법, push후에는 수정할 수 없음.
- 잘못하기 전 과거로 돌아가 최신을 유지하면서 되돌렸다는 이력을 commit으로 남겨 모 든 팀원이 이 사항을 공유하고 주지시킬 수 있음.
$ git revert --no-commit HEAD~3..
: 3개의 커밋 전으로 돌아감.
--no-commit
: 마지막에 한번만 커밋메세지를 작성하는 옵션--no-edit
: commit을 따로 안할때 사용하는 옵션$ git revert -m {1 or 2} {merge commit id}
ex) 94668df
1bf9843
두개의 커밋을 머지한 1123a41
이 있을 경우
$ git show 1123a41
commit 1123a419d52f8eea2273411b4afdfa1914e4195c (HEAD -> master)
Merge: 94668df 1bf9843
Author: Lainyzine <lainyzine.com@gmail.com>
Date: Sun May 9 19:53:19 2021 +0900
Merge branch 'merge'
👉🏻 git show에서 보여지는 Merge: 뒤의 값들에 차례대로 번호가 부여됨.
$ git revert -m 1 1123a41
: 94668dfz커밋으로 돌아감.