본문으로 건너뛰기
yceffort
PostsSeriesTagsAbout🧪 Research
EN

Tweaks

theme
accent palette
film grain
minimal mode
BACK TO INDEX
◆ ESSAY
--min
--year
KOoriginal

mailMail icongithubtwitter
yceffort
•
© 2026
•
https://yceffort.kr
BACK TO INDEX
◆ ESSAY

Github을 아름답게 관리하기

avatar
yceffort
2019-12-18 · 3분
3min
2019year
KOoriginal
gitdevops

Commit Message

좋은 git commit 메시지를 위한 영어사전

좋은 git 커밋 메시지를 작성하기 위한 7가지 약속

요약

Single Line

[#issue number] :emoji: Commit Message

Multi Line

[#issue number] :emoji: Commit Message
- change detail1
- change detail2
  • Single Line 과 동일하지만, Multi Line 으로 가면 두 번째 라인은 반드시 비워둘 것
  • 세 번째 라인부터 Change 상세를 리스트 형식으로 기술

Linear History in git

장점

  1. git bisect
  2. possibility of submitting with history to another version control system like SVN
  3. Documentation for the posterity. A linear history is typically easier to follow. This is similar to how you want your code to be well structured and documented: whenever someone needs to deal with it later (code or history) it is very valuable to be able to quickly understand what is going on.
  4. Improving code review efficiency and effectiveness. If a topic branch is divided into linear, logical steps, it is much easier to review it compared to reviewing a convoluted history or a squashed change-monolith (which can be overwhelming).
  5. When you need to modify the history at a later time. For instance when reverting or cherry-picking a feature in whole or in part.
  6. Scalability. Unless you strive to keep your history linear when your team grows larger (e.g. hundreds of contributors), your history can become very bloated with cross branch merges, and it can be hard for all the contributors to keep track of what is going on.

출처

Rebase

리베이스가 최고다

출처

간단히 요약하면, 내가 작업한 내용을 master의 최신 커밋 뒤에 이어서 붙이는 것이다.

우리의 목표

  1. rebase 대상 브랜치 (보통은 master)를 checkout해서 pull
  2. rebase 하려는 브랜치 (내가 작업한 브랜치)를 checkout해서 pull

현재까지의 상태는 이럴 것이다.

  1. git rebase master 를 때린다

  1. 컨플릭이 없다면 6번으로

  2. 컨플릭이 있다면 컨플릭을 해결한 후에 git rebase --continue를 한다.

  3. git push origin <branch> --force로 force push를 한다.

리베이스는 과거 커밋을 지우고 뒤에 이어 붙인 새로운 커밋을 만들기 때문에, 저장소의 커밋 히스토리를 다시 쓰게 된다.

관련 글

  • #git#devops

    머지된 브랜치를 삭제하는 스크립트

    이미 머지된 브랜치를 로컬에서 삭제하기

    2020-01-02·1분
  • ◆ 프론트엔드 개발자가 알아야 할 쿠버네티스
    #kubernetes#nextjs#nodejs

    파드는 어떻게 종료되는가: 배포 중 에러의 원인과 해결을 실측한 기록

    코드를 한 줄도 바꾸지 않은 배포에서도 에러는 샌다. 롤링 배포 중 새는 실패를 유형과 시각까지 태깅해 원인 네 가지를 부검하고, 처방을 한 층씩 얹어 0으로 만들기까지의 실측 기록이다. Next.js의 종료 코드 원문과 인질 드레인, CrashLoopBackOff의 실제 시간표까지. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 네 번째 편이다.

    2026-08-08·36분
  • ◆ 프론트엔드 개발자가 알아야 할 쿠버네티스
    #kubernetes#frontend#nodejs

    프론트엔드 개발자를 위한 쿠버네티스 개념 지도: 파드에서 오토스케일러까지

    SSR을 운영하는 프론트엔드 개발자가 마주치는 쿠버네티스 용어와 구조를 실무 흐름 순서로 정리했다. 클러스터의 전체 구조부터 배포, 파드의 상태와 자원, 트래픽 경로, 오토스케일링까지. 시리즈의 첫 편이자 이후 편들의 참조 지도다.

    2026-08-05·41분
  • #ai#devops#backend

    코딩 에이전트 핵심 개념 완전 가이드

    Rules, Commands, MCP, Sub-agents, Hooks, Skills, Plugins까지 코딩 에이전트의 핵심 개념 총정리

    2026-01-17·39분

새 글을 놓치고 싶지 않으시다면 RSS로 구독해 주세요.

RSS 구독 →

yceffort — 프론트엔드 엔지니어입니다. 발표·기술 자문·기고 문의는 이곳에서 받고 있습니다.

← Back to the blogIssue on GitHub →