이번에 이야기하고자 하는 주제는 크게 두 가지다.
- 배포를 위한 git branch 전략
- jar 파일 업로드를 위해 gitignore등을 수정할 일이 생겼을때, 파일을 변경하였음에도 제거되지 않는 문제 해결
통상의 git flow의 branch 전략은 이러할 것이다.

하지만 공통 프로젝트때, 자동화 배포를 한 개의 job으로 배포하는 것은 업무적으로 매우 비효율적이라고 느껴졌다.
하여 이번 특화 프로젝트에선, client와 server를 각각의 pipeline을 만들어 배포를 하자고 제안, 진행하였다.
브랜치 이름은 release-server, release-client 되시겠다.

잘 돌아간다!
우리 프로젝트의 백엔드 배포는, 가동 중지 시간을 보다 줄이기 위하여 jar 파일을 미리 build하여, ec2에 git clone을 시킨 후 jar 파일을 실행시키는 방식으로 계획되었다.
그렇기에, build/lib 디렉토리 하에 생성되는 jar 파일을 gitignore에서 해제시켜줄 필요가 있었다.
기본적으로 gitignore.io에서 생성되는 .gitignore 파일에는 build 패키지가 제외되어 있다. (Java/IntelliJ)
build/, /build, /build/, build/** 모든게 다 적용이 안되더라. 화가 났다.
그리고 약간의 시행착오 끝에 이유와 방법을 찾아냈다.
이유: git이 기존에 추적되고 있던 것이 남아있어, gitignore가 적용되지 못했다.
기존에 git에서 관리되고 있던 커밋이 남아서 일어난 일이었다.
그래서, 해결법은 간단했다.
해결: git -rm 경로
이렇게 명령어를 입력하면, 해결이 된다.
다른 방법으로는 널리 알려진 방법으로 git -rm --cached 명령어가 있던데,
이 명령어를 입력했더니, 모든 커밋이 날아가는 것처럼 보여서 식겁하고 그냥 git 하드리셋 해버리고 다른 방법을 찾았더랬다.
release 브랜치를 야무지게 사용중이시군요 하나 배워갑니다 ~~