github
[Markdown] GitHub 마크다운 작성 꿀팁 모음
[Markdown] GitHub 마크다운 작성 꿀팁 모음
2024.05.23Admonition Box인용구(Blockquote)를 활용해서 중요한 정보를 강조할 수 있다. NOTE, IMPORTANT, WARNING 세 가지 타입을 지원하며, 각 타입에 해당하는 아이콘과 컬러로 자동 변경된다. 참고로 README.md 마크다운 편집기에선 미리보기(Preview)로 표시되지 않지만 저장 후엔 정상적으로 표시된다.> [!NOTE] > Highlights information that users should take into account, even when skimming.> [!IMPORTANT] > Crucial information necessary for users to succeed.> [!WARNING] > Critical content demanding immed..
[Git] 1Password에 저장한 SSH 키로 Git 커밋 서명하기
[Git] 1Password에 저장한 SSH 키로 Git 커밋 서명하기
2024.05.18Git 2.34 이후 버전부터 SSH 키를 이용한 커밋 / 태그 서명을 지원한다. 1Password SSH 통합 기능을 사용하고 있다면 GPG 키 없이 1Password 앱에서 Git 커밋 서명을 자동으로 구성할 수도 있다. 커밋을 서명하면 GitHub 계정에 연결된 SSH 공개키로 실제 사용자가 변경한 내용인지 검증 할 수 있다. 그럼 다른 사람의 서명하지 않은 커밋을 방지할 수 있다.GPG(Gnu Privacy Guard)는 GNU 프로젝트에서 개발한 오픈소스 암호화 소프트웨어다. 공개키 암호화 방식을 사용하며, 암호화, 서명, 인증 등의 기능을 제공한다. 요구 사항1Password 버전 8이상의 데스크톱 앱Git 2.34 혹은 이후 버전1Password SSH Agent 활성 (참고 포스팅)1Pas..
[Git] 병합(Merge) 충돌 방지를 위한 리베이스 Rebase
[Git] 병합(Merge) 충돌 방지를 위한 리베이스 Rebase
2024.05.12merge 충돌 방지를 위한 리베이스(Rebase) ⭐️PR 보내기 전 다른 사람이 새로운 커밋을 추가한 상태라면 충돌 방지를 위해 로컬 레포지토리를 최신화하고(upstream ⇄ origin 레포지토리 동기화), 현재 작업중인 기능/버그 브랜치의 base를 develop 브랜치의 마지막 커밋으로 변경하는 리베이스(Rebase) 작업이 필요하다 — 참고글1 | 참고글2 ❶ 현재 상태# 현재 위치 feature-branch 8번 커밋1 - 2 - 3 - 5 (devlop) \ 4 - 6 - 7 - 8 (feature-branch)develop 브랜치의 1~2 커밋 : 로컬 레포지토리의 develop 브랜치 커밋develop 브랜치의 3~5 커밋 : 원격(upstream) 레포지토리에서 새로..
[Git] PR / Commit 메시지 키워드로 이슈 연동 및 종료하기
[Git] PR / Commit 메시지 키워드로 이슈 연동 및 종료하기
2024.05.09키워드 기능 소개💡 Special Keyword 기능 작동 조건PR 타겟이 레포지토리의 default branch 일 때PR의 base가 default branch 일 때 PR Description 혹은 Commit 메시지(Subject 혹은 Description)에 키워드 #이슈번호를 추가하면 입력한 이슈가 자동으로 링크되며, 해당 Commit 혹은 PR을 기본 브랜치(default branch)에 Merge 했을 때 링크한 이슈도 자동으로 닫힌다.git commit -m "Feat: order filter close #15" 참고로 브랜치 이름에 이슈 번호를 기재하면(#889-feat-…) 자동으로 입력한 이슈를 참조한다. 커밋을 추가하면 해당 이슈에 아래 같은 레퍼런스 히스토리가 남는다.userA..
[DevTools] 1Password에서 SSH 키 관리하기
[DevTools] 1Password에서 SSH 키 관리하기
2024.05.081Password 8 버전부터 SSH & Git 관리 기능을 사용할 수 있다. 현재 Ed25519와 RSA 두가지 타입을 지원하며, 기존 SSH 키를 불러와서 저장할 수도 있다. 참고로 *.pem 파일을 1Password에 불러와서 저장한 후, 개인키를 다시 다운로드해서 사용할 땐 pem 확장자를 추가해야 한다. 1Password의 SSH & Git 관리 기능을 사용하면 SSH 개인키를 로컬에 저장하지 않고도 SSH 인증을 진행할 수 있다. ~/.ssh/config 파일에 일일이 SSH 키 경로를 명시해야 하는 번거로움도 덜 수 있다. 1Password에서 생성한 SSH 키는 공개키와 핑거 프린트(Finger Print)를 함께 생성하기 때문에 GitHub 같은 서비스에서 공개키 자동완성 기능도 사용할 ..
[Git] 알면 유용한 GitHub 단축키 / 팁
[Git] 알면 유용한 GitHub 단축키 / 팁
2024.05.05💡 미립자 팁GitHub 페이지에서 ? 키를 누르면 단축키 목록을 확인할 수 있다.소스코드 화면에서 . 키를 누르면 웹 VSCode로 볼 수 있다.GitHub 프로필 주소 끝에 .png를 붙이면 프로필 이미지를 볼 수 있다e.g. https://github.com/romantech.png Focus the search bar/ 혹은 s 키를 누르면 왼쪽 상단에 있는 검색창에 포커스된다. 검색창에 원하는 키워드를 입력해서 내 계정이나 다른 사람 계정에 있는 레포지토리로 이동할 수 있다. File Finder레포지토리에서 t 키를 누르면 File Finder 모드가 활성화된다. File Finder 모드에서 파일 / 폴더명을 입력하면 해당 레포지토리에 있는 파일 목록을 보여준다. 파일 목록에선 위 / 아..
[Git] git revert, git reset 차이점 및 HEAD 분리
[Git] git revert, git reset 차이점 및 HEAD 분리
2024.05.01TL;DRreset : 현재 브랜치를 지정한 커밋으로 이동. 그 이후의 커밋 히스토리는 삭제revert : 커밋 변경사항을 취소하는 새로운 커밋 생성. 기존 커밋 히스토리는 유지 HEAD 배경지식Git Branch 학습/연습하기 좋은 사이트 ▼ Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org HEAD는 현재 브랜치 작업 트리의 가장 최근 커밋을 가리킨다(현재 작업중인 커밋).HEAD를 브랜치 대신 커밋에 붙이는 것을 HEAD 분리라고 부른다.^(캐럿) 연산자는 상대참조 기능으로, 한 단계 위(부모) 커밋으로 이동할 때 사용한다.git checkout bugFix^..
[DevTools] direnv로 폴더마다 다른 node 버전 적용하기 / 전역 gitignore
[DevTools] direnv로 폴더마다 다른 node 버전 적용하기 / 전역 gitignore
2024.05.01프로젝트마다 사용하는 Node 버전이 다르다면 nvm을 이용해서 버전을 변경할 수 있다. 하지만 매번 수동으로 노드 버전을 바꿔주는 것은 번거로운 일이다. direnv를 활용하면 프로젝트 폴더를 바꿀 때마다 노드 버전이 자동으로 바뀌도록 설정할 수 있다. direnv는 폴더별로 환경을 관리해주는 도구다. 설치❶ direnv 설치brew install direnv # homebrew로 direnv 설치 ❷ direnv hook 설정(폴더 이동시 해당 폴더의 .envrc 파일 자동 실행). oh-my-zsh를 사용한다면 `.zshrc` 파일 `plugins` 배열에 `direnv`를 추가하면 자동으로 설정된다.# ~/.zshrcplugins=(... direnv) oh-my-zsh를 사용하지 않는다면 아래 ..
[Git] Github 마크다운에 각주 달기
[Git] Github 마크다운에 각주 달기
2024.04.29각주 사용법21년 10월부터 Github서도 Markdown 각주를 지원한다. 사용 방법도 간단하다. 각주를 달고 싶은 문장에 대괄호를 열고 [^번호|제목] 형태로 입력하면 된다. ex) [^1] [^memo] 각주 제목은 영어만 지원하는 듯 하다. 프리뷰 화면에선 제목으로 입력했어도 항상 번호로 나온다. 아쉽게도 각주에 마우스를 올리면 각주 설명이 보이는 툴팁 기능은 지원하지 않는다. 각주에 대한 설명은 [^번호|제목]: 설명 형태로 입력하면 된다. 각주 설명은 어디에 입력하든 상관없이 항상 하단에 위치하게 된다. 마크다운 프리뷰 화면에서 [^1] 각주를 클릭하면 하단에 있는 각주 설명으로 이동한다. 각주 설명에서 ↵ 아이콘을 누르면 다시 해당 각주가 달려있는 문장으로 이동한다.JavaScript는 클..
[Git] SSH 공개키 만들기 / Credential 인증 시스템
[Git] SSH 공개키 만들기 / Credential 인증 시스템
2024.04.26Credential 저장소 / HTTPS 프로토콜Git 리모트 저장소와 통신할 때 사용하는 프로토콜은 Git(기본 프로토콜), SSH, HTTPS 방식이 있다. Git 기본 프로토콜은 인증 기능이 미약하여 거의 사용하지 않고, 주로 SSH나 HTTPS를 사용한다. HTTPS 프로토콜을 사용하면 매번 사용자 이름과 암호를 입력해야하는 번거로움이 있는데 Git은 이를 위해 인증 정보를 저장해두고 자동으로 입력해주는 Credential 시스템을 제공한다. Credential 기능에서 제공하는 옵션은 아래 3가지가 있다. cache 모드 : 인증정보를 메모리에 임시 저장(기본 15분)store 모드 : 인증 정보를 텍스트 파일로 Disk에 저장. 사용자 홈 디렉토리에 일반 텍스트 파일로 저장되므로 인증 정보 노..
[Git] 변경한 상태 임시 저장 후 브랜치 이동 방법 — Git Stash
[Git] 변경한 상태 임시 저장 후 브랜치 이동 방법 — Git Stash
2024.04.25특정 브랜치에서 파일을 수정하고 git checkout 명령어로 잠시 다른 브랜치로 이동하려고 하면 아래 메시지가 나온다.Please commit your changes or stash them before you switch branches. 변경한 내용을 commit하거나 stash 해야만 다른 브랜치로 이동할 수 있다는 메시지다. 아직 완료하지 않은 작업을 commit하기 껄끄러울 때 stash 명령어를 활용할 수 있다. 마무리하지 않은 작업을 stash 스택에 임시 저장한 후 다른 브랜치로 이동할 수 있다. Stash 명령어stash했던 브랜치가 아니어도(다른 브랜치에서도) stash에 저장한 내용을 복원(적용)할 수 있다 stash 스택에 저장# 현재 상태 임시 저장 ⭐️git stash sta..