버튼 수집상

[웹] 노션으로 이슈 정리하기 - 링크없이 git diff 내역 그리기 본문

TIL - 웹개발

[웹] 노션으로 이슈 정리하기 - 링크없이 git diff 내역 그리기

cocokaribou 2024. 6. 9. 16:46

혼자 풀스택으로 작업한 사이트의 운영이 시작되었다.

이슈 트래커도 사용하지 않는 회사라 직접 노션에 정리중이다.

 

 

커밋내역을 링크로 걸어뒀지만, 비공개 레포지토리라 인증 정보 없이는 링크가 연결되지 않는다.

수정사항(diff)을 노션에 바로 그리기 위한 방법을 고안해봤다.

 

1. 우선 커밋을 올린다.

 

2. 해당 커밋의 해시(SHA)를 따서 git show 커맨드로 내역을 확인한다.

git show --color [커밋SHA]

 

커밋 SHA, short hash 정보를 확인하고 싶으면 아래 커맨드를 입력.

git log --oneline

 

그러면 짧은 해시들과 커밋 제목들이 한 줄로 뜬다.

 

 

3. 우선 터미널에 그려지는 git show 내역을 파일로 출력해보자.

git show --color [커밋해시] > [파일명].txt

--color 옵션을 달았기 때문에 터미널에서 폰트 색을 표현하는 ANSI 이스케이프 코드가 같이 출력된다. (아래 텍스트 속 [32m+[m[32m 와 같은 부분들) 

노션에는 ANSI 이스케이프 코드를 색깔로 렌더링해주는 기능이 없는 것 같다.

대신 노션은 HTML 파일 임베드를 지원한다.

임베드로 붙여넣기 위해 커밋내역 txt파일을 html파일로 변환해보겠다.

 

4. PIP에서 ansi2html 라이브러리 다운로드.

 

ansi2html

Convert text with ANSI color codes to HTML or to LaTeX

pypi.org

파이썬 패키지인데 셸에서도 사용할 수 있다.

터미널에 프린트한 내용을 파이프라인으로 ansi2html 에 연결하면 된다.

[출력하고 싶은 내용] | ansi2html > [파일명].html

 

아래처럼 색깔로 구분된 diff 내역을 html 파일로 뽑을 수 있다.

git show --color [커밋해시] | ansi2html > [파일명].html

 

 

5. 출력된 html 파일을 노션에 임베드.

임베드 메뉴를 클릭.

파일 시스템에서 방금 전에 터미널에서 출력한 html 파일 첨부.

그럼 아래처럼 그려진다.

 

좀 번거롭긴 하지만, 더 좋은 방법을 알아내기 전까지 우선 이렇게 정리하려고 한다.

 

728x90

'TIL - 웹개발' 카테고리의 다른 글

[웹] Svelte 를 찍먹해봤다.  (0) 2024.03.22