Rhymix(라이믹스)는 누구나 참여(기여)할 수 있는 오픈 프로젝트입니다.

테스터, 프로그래밍, UX/UI, 그래픽디자인, 번역, 매뉴얼 작성 등 다양하게 참여할 수 있으며, 지금 바로 당신도 참여할 수 있습니다.

 

1. 참여결과

당신의 참여로 당신과 많은이들이 얻게 될 결과입니다.

  • 보다 업그레이드된 라이믹스를 사용할 수 있습니다.
  • 코어 업데이트시 마다 해야 했던 당신만의 번거로운 수정 작업이 사라질 수 있습니다.

 

2. 참여방법

참여방법에는 요청과 피드백, 이렇게 두가지 방법이 있습니다.

  1. 요청 : 직접 작업하여 라이믹스에 반영될 수 있도록 요청.
    • GitHub의 Pull request(약칭 PR)기능으로 요청하면 됩니다. (아래의 3. Pull request 참조)
  2. 피드백 : 버그, 개선, 제안사항 등을 알림.
    • 권장) Rhymix GitHub issue 에 등록하면 됩니다. (GitHub 계정 필요!)
      • https://github.com/rhymix/rhymix/issues
    • GitHub 사용이 어려울 경우 XETOWN의 RXE 이슈 게시판(본 게시판)에 등록해도 됩니다.
      • https://xetown.com/rxe_issue

# 참여하기 전 참여 가이드를 필독해주세요!

 

3. Pull request

GitHub의 Pull request(약칭 PR)기능으로 라이믹스에 자신의 작업물이 반영될 수 있도록 요청할 수 있습니다.

  • '자신의 작업물이 반영될 수 있도록 요청' 이 문장을 줄여, 'PR을 넣다' 라는 식으로 쓸 수 있습니다.
  • Rhymix GitHub는 라이믹스의 소스코드가 저장된 공식 저장소입니다. 라이믹스 개발팀에 의해 관리되고 있습니다.

 

** 보통 PC에서 파일 작업후, Git 툴로 조작(다운로드, 업로드)하지만,

여기서는 조금 불편하지만 간단히 웹브라우저 통해 할 수 있는 조작 방법으로 설명하겠습니다 **

Git 툴에 대해서도 배우고 싶으신 분은 구글링을 이용해주세요.

 

** 본래 의미는 아니나, 이해를 돕기 위해 임의로 해석된 설명이 있습니다**

 

1. (계정 생성) PR을 넣으려면 먼저 GitHub 계정이 있어야 합니다.

https://github.com/join 를 통해 계정 생성 후 로그인 해주세요.

 

2. (fork 생성) Rhymix GitHub 에서 [Fork] 버튼을 눌러 라이믹스 저장소를 fork 합니다.

  • fork란? 라이믹스 저장소와 똑같은 저장소를 생성(복제)하는 것을 의미합니다. 쉽게 말해 내가 관리자인 나만의 라이믹스 저장소가 생성된다고 보면 됩니다.
  • fork된 저장소에서는 공식 저장소와는 달리 저장된 파일을 자유롭게 수정할 수 있으며, 라이믹스 공식 저장소의 영향도 받지 않습니다. 즉, 라이믹스가 업데이트된다고 해서 fork된 저장소에도 똑같이 업데이트가 적용되지는 않습니다.
  • 라이믹스 공식 저장소의 업데이트를 적용받기 위해서는 동기화 과정이 필요합니다. 이 부분은 7. 동기화 를 참조해주세요.

 

1.png

상단에 있는 [Fork]버튼을 눌러주세요.

 

2.png

fork 중... 잠시 기다리면 fork된 저장소로 이동됩니다.

 

3. (커밋) fork된 저장소가 생성되었습니다. 이 저장소에 새 Branch를 만들어 그곳에 커밋합니다.

  • Branch란? 복제된 작업영역을 의미하며, 각 Branch는 서로 영향을 받지 않습니다. 다시말해 독립된 작업영역인 셈입니다. 예를 들어 master banch에는 최종 배포(확정)본을 저장하며, develop branch는 변경이 빈번하게 이뤄지는 개발 영역으로 사용할 수 있습니다. 추후 branch 간에 merge(병합)를 통해 master banch를 업데이트할 수 있습니다.
  • Branch 별로 PR을 넣을 수 있습니다. 예를 들어 '번역 작업 Branch' 와 '통합검색 개선 작업 Branch'가 있다면 각각 '번역 작업 PR'과 '통합검색 개선 작업 PR'을 넣을 수 있습니다.
  • 다른 Branch를 복제하는 식으로 새 Branch가 생성됩니다.
  • 커밋(commit)은 저장소에서 발생된 파일의 변경 사항을 의미합니다.

 

3.png

작업시에는 항상 master branch가 아닌 다른 branch에서 작업해야 합니다. 여기서는 develop branch로 변경하겠습니다.

(고정 변경이 아닌 일시적 변경이니, 작업시마다 변경해주세요!)

 

4.png

웹 탐색기(?)를 이용해 작업할 파일을 열어주세요.

[Create new file] 버튼으로 새 파일을 추가하거나 [Upload files]으로 이전에 작성해둔 파일을 업로드할 수도 있습니다. 

 

5.png

파일 페이지에서 [연필아이콘]을 누르면 파일을 수정할 수 있습니다.

 

6.png

파일작업 후 페이지 하단에서 커밋정보를 작성하고, 'Create a new branch ~' (새 Branch 생성 후 커밋) 에 체크해주세요.

(체크박스 아래의 빈칸에는 새 Branch의 이름 입력하면 됩니다. 보기 쉽게 이름을 지어주세요.)

  • 커밋정보란? 변경사항에 대한 설명을 의미합니다. 다른 사람이 알 수 있도록 '왜 변경 되었는 지'를 기입합니다. 커밋 제목과 변경된 코드만 봐도 알 수 있다면 내용은 생략해도 됩니다.
  • 'Commit directly to the [develop] branch'로 develop branch에 커밋해도 되지만, 새 branch를 생성해서 작업한다면 작업사항 별로 정리하여 PR을 넣을 수 있어 깔끔합니다.
  • 참고로 PR용 branch의 이름은 보통 'pr/~' 식으로 짓습니다.

[Propose file change] 버튼을 누르면 커밋과 동시에 PR 등록 페이지로 이동됩니다.

 

4. (PR 등록) 라이믹스 공식 저장소에 PR을 넣습니다.

 

7.png

이전 커밋 페이지에서 넘어온 PR 등록 페이지입니다. 하지만 이 페이지에서 PR을 넣게 되면 라이믹스 공식 저장소가 아닌 fork된 본인의 저장소에 PR이 등록됩니다. 따라서 이 페이지는 무시하고, fork된 저장소 또는 라이믹스 공식 저장소의 메인으로 이동해주세요.

 

8.png

메인화면으로 이동하면 노란알림박스(?)가 생성되어있습니다. 이 박스를 통해 아주 간단히 PR을 넣을 수 있습니다. 오른쪽의 [Compare & pull request] 버튼을 눌러주세요. 저 노란박스가 없다면 [New pull request]으로도 넣을 수 있습니다.

 

(더불어 새로 생성된 branch도 확인할 수 있습니다.)

 

9.png

  1. 상단의 빨간 부분에는 무조건 [base fork: rhymix/rhymix] [base: develop] 로 선택되어 있어야합니다.
  2. 그 다음 [head fork: 본인의 fork 저장소] [compare: PR로 넣을 branch]로 선택되어 있는 지 확인해주세요.
  3. PR 제목과 내용에는 첫번째 커밋의 제목과 내용이 입력되어 있으나, 설명이 상세하지 않다면 다시 상세히 입력해주세요.
  4. 하단부분에서 PR로 넣을 branch의 커밋이 맞는 지 확인해주세요.
  5. 마지막으로 [Create pull request] 버튼을 누르면 PR이 등록됩니다.

 

11.png

등록 완료! 이제 반영되길 기다리면 됩니다.

 

5. (커밋추가) 추가로 발견된 문제를 보완하는 커밋을 기존 PR에 추가할 수 있습니다.

PR은 커밋 단위가 아닌 Branch 단위로 등록됩니다. 즉, PR은 Branch 등록일뿐, 소스코드 등록이 아닙니다. 따라서 해당 Branch에서 새로운 커밋이 발생한다면 당연히 PR에도 반영될 것입니다.

 

12.png

fork된 저장소에서 해당 PR Branch로 이동합니다.

 

13.png

작업후 커밋 내용을 입력(이번에는 내용생략)하고,

'Commit directly to the [PR branch] branch'(해당 PR branch에 직접 커밋하라!)를 선택하여 커밋합니다.

 

14.png

이로써 조금 전에 올린 PR에 새 커밋이 추가되었습니다!

 

6. (Branch 제거) Merged(반영완료된) PR의 branch는 삭제하는 것이 일반적입니다.

간단히 PR 페이지에서 해당 PR의 branch를 삭제할 수 있습니다.

 

15.png

[Delete branch] 버튼만 눌러주면 삭제됩니다.

(PR 반영이 완료된 경우에만 [Delete branch] 버튼이 표시됩니다.)

 

16.png

삭제 확인!

 

이외에도,

17.png

저장소의 branches 페이지에서...

 

18.png

[휴지통아이콘]으로 branch를 삭제할 수 있습니다.

 

7. (동기화) fork된 저장소에 라이믹스 공식 저장소의 업데이트된 커밋을 적용합니다.

fork된 저장소는 라이믹스 공식 저장소의 영향을 받지 않으므로, 시간이 지남에 따라 저장소간에 코드가 점차 달라질 수 있습니다. 달라진 코드로 작업하여 PR을 넣게되면 충돌 문제가 발생되어 반영되지 않습니다.

 

따라서 fork된 저장소에 라이믹스 공식 저장소의 업데이트된 커밋을 가끔씩 적용해주는 것이 좋습니다. Git 툴을 이용하면 손쉽게 적용할 수 있지만, 웹에서는 이를 실행할 수 있는 기능이 따로 없으므로 PR 기능을 활용해야 합니다.

 

PR 기능을 거꾸로 '공식 저장소의 업데이트된 커밋을 fork된 저장소에 반영 요청' 하는 식으로 이용하면 적용할 수 있습니다.

 

19.png

[New pull request] 버튼 누릅니다.

 

20.png

 

[base fork: 본인의 fork 저장소] [base: 적용할 branch] [head fork: rhymix/rhymix] [compare: develop]

이와 같이 선택되어 있어야 하는 데 아마 선택이 뜻대로 안될겁니다. (원래 이런 용도가 아닌지라...)

 

https://github.com/본인의 fork된 저장소(예: textbox2/rhymix)/compare/develop...rhymix:develop

그냥 위 URL로 접근하면 됩니다. (자동 선택)

 

[Create pull request] 버튼을 눌러주세요.

 

21.png

제목은 마음대로 붙여주고, [Create pull request]버튼을 눌러주면 업데이트 적용을 위한 PR 등록이 완료됩니다.

 

22.png

등록된 PR페이지의 하단에 있는 [Merge pull request]버튼을 눌러주세요.

 

24.png

마지막으로 [Confirm merge] 버튼을 누르면 실행됩니다.

 

25.png

merged! 완료되었습니다.