본문 바로가기
  • 실행력이 모든걸 결정한다
Git & Github

[Git] git archive / 특정 commit 주석 수정하기

by 김코더 김주역 2021. 4. 9.
반응형

1. git archive

git archive명령으로 프로젝트 폴더 내의 소스코드 파일만 압축할 수 있다.

프로젝트 구성은 이렇다.

.git과 개발썸네일은 각각 폴더와 이미지 파일이다.

 

 

 

아래 명령어로 소스코드만 압축된 zip또는 tar파일을 생성할 수 있다.

git archive --format=[zip 혹은 tar] [브랜치명] -o [이름]

※ -o옵션: output

 

 

 

명령을 실행했더니 이렇게 main이라는 이름의 zip파일이 생성되었고,

 

 

 

소스코드 파일만 잘 압축되었다.

 

 

2. 특정 commit 주석 수정하기

git commit --amend은 최근 커밋 주석을 수정하는 명령이다.

그렇다면 특정 commit 주석 을 수정하는 방법도 있을까?

 

git rebase의 -i옵션을 이용하면 된다. i는 interactive를 의미한다.

git rebase는 원래 병합을 위한 명령이며, git merge와 차이점이 있다면 불필요한 내역을 제거하여 히스토리를 깔끔하게 확인할 수 있지만 복구가 쉽지 않기 때문에 위험하다는 단점이 있다.

 

먼저, 특정 commit을 지정하기 위해서는 그 commit의 id를 알아야 한다.

commit의 id만 알면 되기 때문에, git log에 --oneline옵션을 붙여서 [commit id, commit 주석] 쌍으로만 검색해보자.

 

이렇게 간단하게 날짜 내림차순으로 검색이 된다.

여기서, 바꾸고 싶은 commit의 이전 commit id가 필요하다.

git rebase -i [commit id]

 

예를 들어, id가 b7f8f00인 commit의 주석을 second work(kimjooyeok)에서 second work(lamb)로 바꾸고자 한다.

그래서 git rebase -i뒤에 그 이전 커밋 id인 e63c3b4을 입력했다.

 

그랬더니 id가 b7f8f00인 커밋이 맨 처음으로 출력되었다.

이제 아래 설명서를 보고 옵션을 선택하면 되는데, commit 주석을 바꿀 것이기 때문에 pick을 지우고 reword로 변경하면 된다.

그리고 내용을 변경할 때는 편집 모드(A키)로 되어있어야 한다는 점을 꼭 기억해두자.

 

이렇게 변경을 완료하고 Esc키를 눌러 편집 모드를 해제하고 :wq!를 입력해서 에디터를 빠져나온다.

 

그러면 바로 해당 주석을 변경할 수 있는 새 에디터 창이 나온다.

 

주석 역시 아까와 동일한 방법으로 에디터 편집을 진행하면 된다.

 

잘 변경 되었다. 그리고 commit id도 바뀐 모습을 확인할 수 있었다.

 

반응형

댓글