-
내가 자주쓰는 GIT 명령어GIT 2022. 10. 9. 12:48
- 0222 : reset과 revert 차이와 reset에 대한 옵션 기록 추가
기본 명령어 (깃 add, push, merge, reset, branch)
// 깃 상태 확인 git status // 파일의 바뀐 부분 확인 git diff {/경로/파일이름} // 커밋 git add {/경로/파일이름} git add . git commit -m "커밋내용" // 설정 git config —local user.name "커밋하는 사람" git config —local user.email "커밋맨 이메일" // 브랜치 만들기, 확인 git checkout -b newbranch git branch git push —set-upstream origin newbranch (—set-upstream `==` u) git checkout main git merge newbranch (Fast-forward) git log (해시코드 확인) git reset —hard {해시코드} git merge —no-ff —log newbranch (merge commit - branch가 분기됨)
PULL 할때 리베이스 기본 설정
git config --global pull.rebase true // 설정 없이 pull은 아래와 같다. git pull --rebase origin 브랜치
리베이스 사용하기
git checkout -b songyeonbranch git status git add . git commit -m “commit pac” git checkout dev git merge —no-ff —log songyeonbranch // {그 사이 동료가 dev에 커밋이 생겨서 충돌!} -> 충돌해결 git status git add . git commit -m “dd” git reset —hard origin/dev git log git checkout songyeonbranch git rebase dev // 충돌 수정 git add . git rebase --continue git checkout dev git merge -no-ff -log songyeonbranch
깃 스테시 (git stash) 사용하기
- 작업 임시 저장 (add, commit 안하고 잠시 저장하고 다른 브랜치 checkout 가능)
git stash git checkout branch2 git checkout orignbranch git stash list // 다시 돌아와서 임시저장 내역 확인 git stash apply {해시코드} // 임시저장소 리스트에 돌아가고 싶은 시점으로 적용
깃 되돌리기 (reset vs revert)
git reset으로 취소
- git reset은 되돌아가고 history에서 지우는 것
git log # 되돌릴 해쉬 확인 # 되돌릴 hash로 돌아가기 working directory까지 삭제 git reset --hard {되돌릴 시점 해쉬} # Working directory는 남기고 되돌림 (Default) git reset --mixed # Staging 상태로 되돌리기 git reset --soft # 직전 시점으로 돌아가기 git reset --hard
git reset HEAD^
git revert 로 취소
- git revert는 history는 남기고 되돌아가는 것
git log # 돌아갈 해쉬 확인 # 되돌릴 시점으로 revert하면 커밋 메시지 수정창이 뜬다. 저장하면 새로운 커밋이 뜬다. git revert {돌아갈 시점 해쉬}
GIT 직전 커밋 취소
git reset HEAD^
GIT 커밋 메시지 수정
가장 최근 단건 수정
git commit --amend
다건 수정 with Rebase
최근 커밋에서 3개 소환
git rebase -i HEAD~3
그럼 아래 같이 창이 뜸
pick {해시코드} {내 커밋 메시지} pick {해시코드} {내 커밋 메시지} pick {해시코드} {내 커밋 메시지}
pick을 reword로 바꾸고 esc → :wq! 하면 순서대로 커밋메시지를 수정할 수 있는 창이 뜬다. (wow..)
git status에 필요없는 파일 무시 설정
추적하지 않는 파일이 생기는 경우, git add . 를 쓸 수가 없다. 명령어로 status에서 제거 할 수 있다.
git status git clean -d -f {경로}
깃 스쿼시 머지
- ticket 단위로 커밋 합친다. (스쿼시를 하지 않으면, 리뷰어 입장에서 커밋 하나하나 눌러보게 된다.)
- 최상위 커밋은 pick 나머지는 squash로 입력 (s로 생략 가능)
git rebase -i HEAD~3 pick 해쉬 ... squash 해쉬 .. squash 해쉬 ..
- 참조
https://learngitbranching.js.org/?locale=ko
https://techblog.woowahan.com/2553/
https://www.lainyzine.com/ko/article/git-clean-removing-untracked-files-in-git-repository/
https://velog.io/@mayinjanuary/git-커밋-메세지-수정하기-changing-commit-message
반응형'GIT' 카테고리의 다른 글
GIT 브랜치 전략 정리 (0) 2024.11.07 [readme 프로젝트 설명 꿀팁] github 프로젝트 tree 구조를 자동 생성해보자 (0) 2022.08.04