[ git & github ] Git Rebase | 특정 커밋 수정하기 / 삭제하기

2021. 2. 18. 06:18·Archive/ETC
목차
  1. @ Git Rebase
  2. @ Rebase 실습
  3. @ 특정 커밋 자체를 삭제하기
728x90
반응형

 

 

이 포스팅은 구름 에듀 강좌의 "Git으로 시작하는 협업 및 오픈소스 프로젝트" 를 기반으로 작성되었습니다.

이 강의의 강사이신 "나동빈" 님의 자료임을 밝힙니다.

상업적인 의도가 아닌, 공부한 것을 정리해놓는 목적의 포스팅입니다.

 

 

edu.goorm.io/learn/lecture/11528/git으로-시작하는-협업-및-오픈소스-프로젝트/info

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io



ndb796.tistory.com/

 

안경잡이개발자

프로그래밍 강의를 진행하는 공간입니다.

ndb796.tistory.com

 

 

 


 

 

@ Git Rebase

 

 

커밋 메세지를 수정하거나, 특정한 커밋 자체를 제거하고자 할 때 효과적으로 사용된다.

 

실습을 위해 하나의 디렉토리를 생성하고  git init을 통해 초기화 시켜준다.

 

 

만들고 난 후 아무파일이나 하나 생성해준다.

 

생성 후 add, commit해준다.

 

 

 

 

 

 

다음으로 txt파일을 수정해준 후 다시 add commit 해준다.

 

 

 

 

 

 

그다음 파일을 지운 후 add commit 해준다.

 

 

 

 

 

 

이번엔 exam2.txt 파일을 생성하고 add commit 해준다.

 

 

 

 

이후 깃 로그를 출력해보면 아래와 같이 4개의 커밋 로그가 출력된다.

 

 

 

 

 

이중에서 Delete exam.txt 의 커밋 메세지를 수정해보도록 하자

 

 

@ Rebase 실습

 

 

cmd 창에 아래와 같은 명령어를 입력한다.

 

git rebase -i HEAD~3

 

i : 인터레티브 모드 어떻게 수정할 건지 편하게 관리할 수 있다.

HEAD~3 : head를 기준으로 최근 3개의 내역만 확인 하겠다는 의미이다.

 

 

 

 

 

아래쪽에 보면 다양한 명령어들이 소개되어있다.

 

이 중 reword 옵션은 커밋은 그대로 사용하되, 커밋 메세지만 바꿔주는 기능을 가지고 있다.

 

 

 

 

수정해주고, 저장을 해주면

 

바로 어떻게 커밋 메세지를 바꿀 것인지 표시된 페이지가 뜬다.

 

 

 

 

 

여기서 커밋 메세지를 Delete 가 아닌, Drop으로 바꿔주자.

 

 

그리고 저장 후 git log 명령어를 통해 다시 로그를 확인한다.

 

 

 

 

Drop 으로 변경된 것을 확인할 수 있다.

 

만약 특정 커밋을 넣어주고 싶거나,

혹은 너무 head와 떨어져있는 커밋을 수정해야 한다면 해시값을 통한 수정도 가능하다.

 

아래와 같은 형식으로 사용하면 된다.

git rebase -i 해시값

 

이렇게 해시 값을 넣게 되면 넣은 이 값을 기준으로 head (젤 최근 커밋 된 곳)까지 출력이 된다.

 

 

 

 

@ 특정 커밋 자체를 삭제하기

 

git rebase -i HEAD~3

 

위 명령어를 다시 입력해보자.

 

 

 

 

옵션 중 drop은 커밋을 지워주는 역할을 한다.

 

없애고자 하는 커밋을 drop키워드를 넣고 저장해준다.

 

 

 

 

 

이후 커밋 로그를 출력해보면, 커밋이 사라진 것을 확인할 수 있다.

 

 

 

mkdir 명령어를 입력해보자.

 

 

 

 

exam.txt 가 다시 생겨났다. 삭제한 내역이 사라졌기 때문에 다시 생성된 것이다.

 

 

특정 커밋 자체가 애초에 존재하지 않았던 것처럼 성공적으로 동작한 것을 확인할 수 있다.

 

 

 



 

728x90
반응형

'Archive > ETC' 카테고리의 다른 글

[ git & github ] Git Commit 날짜 변경 | 깃허브 커밋 날짜 변경하는 법  (0) 2021.02.18
[ git & github ] Git 환경 설정 | Git config  (0) 2021.02.18
[ git & github ] Git Archive | 깃허브 소스코드 압축  (0) 2021.02.18
[ git & github ] Git Hub README.md 작성 | 마크다운 언어  (1) 2021.02.18
[ git & github ] Git 로그 | GitHub Log 관리  (0) 2021.02.18
  1. @ Git Rebase
  2. @ Rebase 실습
  3. @ 특정 커밋 자체를 삭제하기
'Archive/ETC' 카테고리의 다른 글
  • [ git & github ] Git Commit 날짜 변경 | 깃허브 커밋 날짜 변경하는 법
  • [ git & github ] Git 환경 설정 | Git config
  • [ git & github ] Git Archive | 깃허브 소스코드 압축
  • [ git & github ] Git Hub README.md 작성 | 마크다운 언어
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    파이썬 백준
    Git
    파이썬 기초
    javascript
    백준 문제풀이
    백준 파이썬
    코드업 파이썬 기초 100제
    코드업 기초
    비박스
    파이썬 문제
    백준
    Codeup
    파이썬 기초 문제
    자바스크립트
    Oracle
    Python
    파이썬
    코드업
    Django
    자바스크립트 객체
    백준 풀이
    자바스크립트 API
    보안뉴스
    oracle db
    장고
    파이썬 알고리즘
    C++
    카카오 100일 프로젝트
    오라클
    docker
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ git & github ] Git Rebase | 특정 커밋 수정하기 / 삭제하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.