Rebase
//공식 upstream 저장소에서 최신 commit history 가져오기
$ git fetch upstream master
//최신 commit history 기준으로 베이스 갱신(rebase)
$ git rebase upstream/master
//Fork 한 저장소(GitHub)도 수정하기 (PR은 자동으로 갱신)
$ git push --force origin [branch-name]
Rewind
//수정내역 과거시점으로 되감기
$ git rebase -i --root
편집기에 나오는 내용중 원하는 시점인 commit의 'pick'을 'edit'으로 수정한다.
Continue
/수정내역 다시 현재시점으로 풀기
$ git rebase --continue
*rebase과정 취소하기
$ git rebase --abort
*rebase 초기화
$ git reset --hard origin/master
Reset명령어
$ git reset --soft HEAD~1
--hard와는 다르게 commit정보만 삭제하고 파일 변경분은 남겨둔다.
$ git reset --hard HEAD~1
최신커밋삭제 뿐만아니라 파일 변경분도 완전히 삭제한다.
예. 중간에 낀 commit 2개를 하나로 합치기
commit 합치기
$ git rebase -i --root //원하는 시점의 pick을 edit으로 수정
$ git reset --soft HEAD~1
$ git status //옵션
$ git commit --amend
$ git rebase --continue
합쳐진 결과 확인
$ git log --oneline
$ git show [commit ID]
예. 중간에 낀 commit 삭제하기
커밋삭제하기
$ git rebase -i --root
$ git reset --hard HEAD~1
$ git status
$ git rebase --continue
삭제된 결과 확인
$ git log --oneline
$ git shortlog
'코딩' 카테고리의 다른 글
Git에 코드 올리는 명령어 간단하게 정리 (0) | 2020.07.20 |
---|---|
nano 편집기 사용 (0) | 2020.07.18 |
[Git 명령어] branch, commit, stash (0) | 2020.07.18 |
[Git 명령어] Git 설정하기 (0) | 2020.07.18 |
[Git 명령어] 프로젝트 읽기 (0) | 2020.07.18 |