2월 11, 2024

[GIT] commit으로 issue 자동 close 하는 방법, issue close keywords

 Github에서 작업을 할 때 issue를 먼저 만들고 Pull Request 등의 작업을 통해서 issue를 close하는 경우가 많다. 

(참고로 Github issue에 관련해서는 첫 번째 포스팅에서 다루었으니 아래 링크를 참고하도록 하자. https://www.programmingstory.com/2023/08/github-issue-issue.html


오늘은 Github Commit을 통해 자동으로 issue를 close 하는 방법을 알아보도록 하겠다. 


우리가 Issue #3을 생성했고 위와 같이 Pull Request에 This close #3이라고 적으면 해당 Pull Request가 merge 될 때 Issue #3도 함께 close가 된다. 즉 issue와 Pull Request를 함께 묶을 수 있어 편리한 기능이다. 



Pull Request를 하면 위와 같이 close 아래 미세한 선이 보이는 것을 알 수 있고 #3에도 하이퍼링크가 생기는 것을 볼 수 있다. close 아래 마우스를 대 보면 


위와 같이 "This pull request closes issue #3" 라는 설명을 볼 수 있다. 

Pull Request가 생성되고 아래 "Confirm Merge" 까지 되어야 비로소 우리가 생성해주었던 issue 가 닫히는 것을 알 수 있다. 


close 이외에도 아래와 같은 키워드를 사용할 수 있다. 


close

- closes

- closed

- fix

- fixes

- fixed

- resolve

- resolves

- resolved


때로는 하나의 commit으로 여러 개의 issue를 close 할 필요도 있는데 나열 식으로 여러 개를 적어도 issue를 close 하는데 문제가 없다.


git commit -m "closed #30, #31, #33" 


이런 식으로 적어도 된다는 뜻이다. 

또한 다른 repository에 있는 이슈도 권한만 있다면 close 할 수 있다. 

git commit -m "close issue #40 and [repository_path]#2" 


이런 식으로 다른 repository path 이름 뒤에 issue number를 붙이면 가능하다. 


이런 github의 키워드를 사용하여 pull request와 issue를 match 하고 자동 close할 수 있는 기능을 적극 이용해보자.