Branch
git의 기본 브랜치 : master
GitHub에서의 기본 브랜치 : main
브랜치 생성
git branch mybranch
메인에서 파생되는 브랜치 생성
git branch mybranch main
브랜치 이동/변경
git checkout mybranch
코드 이후로 원격 저장소에 mybranch라는 브랜치를 만들어 push
git push --set-upstream origin mybranch
브랜치 변경
git switch mybranch
브랜치 새로 만들어서 변경
git switch -c mybranch
파일을 최근 커밋으로 되돌리기
git restore README.md
최근 커밋 전으로 되돌리기
git checkout -- README.m
스테이지에 올린 파일 빼기
git restore --staged README.md
or
git reset HEAD README.md
브랜치 삭제
git branch -D <브랜치명>
삭제된 브랜치 복구
git reflog로 커밋 해시값 가져오고
git checkout -b <브랜치명> <커밋 해시값>
merge(합병)하기
git checkout main
git merge mybranch
git push origin main
Fork
Github 레파지토리에 들어가서 Fork를 클릭후 내 레파지토리 생성
clone -> commit -> push 후 pull request 보내기
그 외 명령어
amend
하나의 기능을 만들고 커밋을 할 때 누락한 파일을 추가하고 싶을 때 사용
최신 커밋에 스테이징한 내용 추가
git commit --amend
stash
현재 브랜치에서 아직 커밋 하지 못한 파일들이 있는데, 다른 브랜치로 넘어가야 하는 경우 현재 브랜치의 변경사항을 잠시 보관할 때 사용
Tracked : git 저장소에서 관리하는 파일
UnTracked : git 저장소에서 관리하지 않는 파일
수행중인 README.md 파일 작업을 임시 저장
git add README.md
git stash
다른 브랜치에서 작업하고 돌아온 후, 가장 최근에 임시 저장한 내용 가져오기
git stash pop
UnTracked 파일을 stash하려면 --all 붙여줘야함
git stash --all
reset
이전 커밋으로 브랜치를 되돌릴 때 사용
git reset --[mode] <커밋 id>
hard : 지정한 커밋 이력 이후 변경사항을 다 버리고 지정한 커밋으로 리셋
mixed : 지정한 커밋 이력 이후 변경 사항은 로컬에 unstaged 상태로 유지하고 커밋은 리셋
soft : 지정한 커밋 이력 이후 변경 사항은 로컬에 stage 상태로 유지하고 커밋은 리셋
revert
지정한 커밋의 내용으로 새로운 커밋 생성(히스토리 보존)
git revert <커밋 id>
cherry-pick
여러가지 커밋 중에 내가 원하는 커밋만 가져와서 현재 브랜치에 붙이기
git cherry-pick <commit-id>
'Git' 카테고리의 다른 글
Git & GitHub 기본 (0) | 2023.10.06 |
---|