Github

[GitHub] 이슈를 생성하고, 생성한 branch로 pr 날리기

5353 2025. 1. 5. 02:17
반응형

 

오늘은 소규모 프로젝트/ 협업 시 기초가 되는 깃허브 사용법에 대해 적어보려한다. 매우 간단하게 적었으나 사진이 많아 복잡해 보일수 있으니 미리 양해를 구한다.

기획

 

어떠한 기능 개발에 대한 논의 후에 계획을 이슈에 적어주면 된다. 

먼저 깃허브 레퍼지토리에서 이슈탭에 들어간다. 

우측 상단에 New Issue 버튼을 클릭, 

현재 짜고자하는 코드에 대한 계획/ 설명에 대해 적는다. 

Submit new Issue 버튼 클릭

브랜치 생성

이슈생성이 끝나면 바로 나오는 화면에서 우측 Development 단에 Create a branch 클릭

티켓 이름 과 함께 브렌치 이름이 만들어짐 -> Create a branch 클릭

복사 버튼 클릭 -> 내 로컬 브랜치와 동기화 하자

git fetch origin  :원격 저장소(origin)에서 최신 변경 사항을 가져

git checkout 3-feat-component-encapsulate  : 3-feat-component... 라는 브랜치로 전환 (브랜치가 로컬에 없으면 fetch로 가져온 원격 브랜치를 기준으로 새로 생성.)

 

origin 에서 브랜치가 잘 생성 된걸 볼 수있음. 새로 생성한 remote 브랜치랑 내 컴퓨터의 로컬 브랜치랑 연결해야함.

아까 복사한 명령어 터미널에 붙여넣기 ( 앞서 작성한 브랜치 외에 다른 브랜치에서 작업한 걸로 이미지 대체함. 브랜치 이름 제외 플로우는 같음

 

git fetch origin
git checkout <브랜치 이름>

git branch -> 현재 내 브랜치 확인
git pull origin <브랜치>


코드 짠뒤

위 명령어로 원격 저장소와 로컬 저장소 간의 변경 사항을 동기화 이후 코드를 짜고 git push 해주면 된다.

git add .
git push origin <브랜치 이름>

 

Pull Request (Merge 전단계)

다시 깃허브 -> Pull Request 탬에 들어가서

New Pull Request 클릭

이런 식으로 코드에 대한 설명을 써주고 pr을 날리면 Merge 승인 대기 상태가 된다 이때 Auto Merge 가 안된 상태라면 위처럼 ReSolve conflict 버튼이 뜨는데, 따라가서 Conflict 를 해제 해주자.

충돌 해제

위처럼 충돌단 부분이 빨갛게 E 표시로 뜬다.
그럼 >>> === 부분과 함께, 깃에 추가/유지할 부분만 남기고 수정해 주면 된다.
위에 보인는 <<<<<<<와 ======= 사이의 내용은 3-feat-docker 브랜치의 변경 사항,

=======와 >>>>>>> 사이의 내용은 dev 브랜치의 변경 사항이다

이런 식으로 빨간 표시가 사라질때 까지 반복해주자.

빨간 표시가 사라지면 우측상단에 Mark as Resolve라는 회색 버튼이 뜬다. 
버튼을 누르면 좌측에 충돌이 해제 된 파일은 좌측에 초록색 체크 표시가 뜬다.

나머지도 파일도 따라해주자.

모든 파일을 충돌 해제 하면 우측 상단에 commit merge 버튼이 뜬다 눌러주자

병합

짝짝짝짝 드디어 Merge request 버튼이 뜬다. 원래라면 내가 아닌 다른 멤버가 내 코드에 대한 피드백을 달아주고 Merge 여부를 결정하지만, 극 초기에다가 백엔드는 나뿐이므로..ㅎㅎ 그냥 머지하겠다

Confirm Merge로 머지 승인해주자.

자신의 목적을 다한 브랜치는 삭제 해주면 된다.

 

사진이 많아서 그렇지 매우 간단한 플로우 이다.


 


요약

1. 어떤 기능이 논의 되면 이슈를 열어 계획을 세우고

2. 이슈와 함께 브랜치를 파고

3. 코드를 짠뒤

4. pr 을 열어서 dev 브랜치에 병합 할지 말지를 결정하면 된다.  

 

반응형