<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Branch on kastori</title><link>http://blog.kastori.dev/tags/branch/</link><description>Recent content in Branch on kastori</description><generator>Hugo -- gohugo.io</generator><language>ko-kr</language><lastBuildDate>Sun, 07 Jun 2026 00:00:00 +0900</lastBuildDate><atom:link href="http://blog.kastori.dev/tags/branch/index.xml" rel="self" type="application/rss+xml"/><item><title>Git + Jira — 브랜치·커밋·PR에 이슈 키 연결하기</title><link>http://blog.kastori.dev/tech/2026-06-07-jira-02-git-integration/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0900</pubDate><guid>http://blog.kastori.dev/tech/2026-06-07-jira-02-git-integration/</guid><description>&lt;h2 id="코드-변경에-이유를-남기는-방법"&gt;&lt;a href="#%ec%bd%94%eb%93%9c-%eb%b3%80%ea%b2%bd%ec%97%90-%ec%9d%b4%ec%9c%a0%eb%a5%bc-%eb%82%a8%ea%b8%b0%eb%8a%94-%eb%b0%a9%eb%b2%95" class="header-anchor"&gt;&lt;/a&gt;코드 변경에 이유를 남기는 방법
&lt;/h2&gt;&lt;p&gt;6개월 전에 작성한 코드를 보면서 &amp;ldquo;이게 왜 있지?&amp;ldquo;를 되묻는 경험이 있다면, 이 글이 그 문제를 해결해 준다.&lt;/p&gt;
&lt;p&gt;Git 커밋 메시지와 Jira 이슈를 연결하면 코드 한 줄이 어떤 맥락에서 생겼는지 항상 추적할 수 있다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="연동의-핵심-이슈-키"&gt;&lt;a href="#%ec%97%b0%eb%8f%99%ec%9d%98-%ed%95%b5%ec%8b%ac-%ec%9d%b4%ec%8a%88-%ed%82%a4" class="header-anchor"&gt;&lt;/a&gt;연동의 핵심: 이슈 키
&lt;/h2&gt;&lt;p&gt;모든 것은 이슈 키 하나로 연결된다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;이슈 키 형식: {프로젝트 키}-{번호}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;예) BLOG-42
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;이 키를 브랜치명, 커밋 메시지, PR 어디에든 넣으면 Jira가 자동으로 해당 이슈와 연결한다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="브랜치-네이밍"&gt;&lt;a href="#%eb%b8%8c%eb%9e%9c%ec%b9%98-%eb%84%a4%ec%9d%b4%eb%b0%8d" class="header-anchor"&gt;&lt;/a&gt;브랜치 네이밍
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git switch -c feature/BLOG-42-add-comment-api
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;패턴: {type}/{이슈키}-{설명}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;feature/BLOG-42-add-comment-api ← 기능 추가
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bugfix/BLOG-37-fix-jwt-expiry ← 버그 수정
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;refactor/BLOG-55-split-service ← 리팩터링
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;이슈 키가 앞에 있으면 브랜치 목록에서 어떤 이슈와 연결됐는지 바로 보인다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="커밋-메시지"&gt;&lt;a href="#%ec%bb%a4%eb%b0%8b-%eb%a9%94%ec%8b%9c%ec%a7%80" class="header-anchor"&gt;&lt;/a&gt;커밋 메시지
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;feat(comment): 댓글 생성 API 구현 BLOG-42&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;커밋 끝에 이슈 키를 붙이는 것만으로 Jira가 연결을 감지한다.&lt;/p&gt;
&lt;p&gt;조금 더 자세히 쓰고 싶다면:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;feat(comment): 댓글 생성 API 구현
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;- POST /api/comments 엔드포인트 추가
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;- 댓글 내용 500자 유효성 검증
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;BLOG-42&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Smart Commits&lt;/strong&gt; — 커밋 메시지로 Jira 이슈 상태를 자동으로 바꿀 수도 있다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 작업 시작 시 이슈를 In Progress로&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;feat: 댓글 API 작업 시작 BLOG-42 #in-progress&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 완료 시 Done으로&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;feat: 댓글 API 완료 BLOG-42 #done&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="pr-작성"&gt;&lt;a href="#pr-%ec%9e%91%ec%84%b1" class="header-anchor"&gt;&lt;/a&gt;PR 작성
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;제목: [BLOG-42] feat(comment): 댓글 생성 API 구현
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;PR 본문에는 이슈 링크를 추가한다:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## 관련 이슈
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Jira: [&lt;span class="nt"&gt;BLOG-42&lt;/span&gt;](&lt;span class="na"&gt;https://your-domain.atlassian.net/browse/BLOG-42&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; Closes BLOG-42
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## 변경 내용
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; POST /api/comments 엔드포인트 추가
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; 댓글 내용 500자 유효성 검증
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## 테스트
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;- [ ]&lt;/span&gt; 댓글 생성 정상 응답
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;- [ ]&lt;/span&gt; 빈 내용 검증
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;Closes BLOG-42&lt;/code&gt;를 적으면 PR이 머지될 때 이슈가 자동으로 Done 처리된다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="github-for-jira-앱-연동"&gt;&lt;a href="#github-for-jira-%ec%95%b1-%ec%97%b0%eb%8f%99" class="header-anchor"&gt;&lt;/a&gt;GitHub for Jira 앱 연동
&lt;/h2&gt;&lt;p&gt;브랜치·커밋·PR이 Jira 이슈 페이지에서 바로 보이려면 앱 연동이 필요하다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. Jira → Apps → 앱 탐색
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → &amp;#34;GitHub for Atlassian&amp;#34; (by Atlassian) 설치
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. GitHub 계정 연결
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → Jira와 다른 구글 계정이어도 무관
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → OAuth 토큰 기반이라 계정 종류 상관없음
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 연결할 레포 선택 → 승인
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;연동 후 Jira 이슈 페이지:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Development 패널:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── Branches (1) : feature/BLOG-42-add-comment-api
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── Commits (3) : 관련 커밋 목록
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── Pull Requests : [Open] 댓글 생성 API
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;이슈 하나에서 관련 코드 변경 전체를 볼 수 있다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="실전-워크플로우-요약"&gt;&lt;a href="#%ec%8b%a4%ec%a0%84-%ec%9b%8c%ed%81%ac%ed%94%8c%eb%a1%9c%ec%9a%b0-%ec%9a%94%ec%95%bd" class="header-anchor"&gt;&lt;/a&gt;실전 워크플로우 요약
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. Jira에서 이슈 생성 → BLOG-42
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 브랜치 생성 → feature/BLOG-42-add-comment-api
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 커밋 → &amp;#34;feat: 구현 BLOG-42&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4. PR → [BLOG-42] feat: 댓글 API / Closes BLOG-42
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;5. 머지 → 이슈 자동 Done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;혼자 쓸 때는 이 흐름을 다 지키기보다 &lt;strong&gt;브랜치명 + 커밋에 이슈 키&lt;/strong&gt;만 챙겨도 충분하다. 나중에 &lt;code&gt;git log&lt;/code&gt;에서 이슈 키로 검색하면 그 작업의 전체 맥락을 찾을 수 있다.&lt;/p&gt;
&lt;p&gt;다음 편에서는 Slack과 연동해서 Jira + GitHub 알림을 한 곳에 모으는 방법을 다룬다.&lt;/p&gt;</description></item></channel></rss>