본문으로 건너뛰기

웹 기반 PR 가이드

약 2 분

웹 기반 PR 가이드

경고

해당 문서는 잠재적으로 잘못된 정보를 포함할 수 있습니다!

이 문서는 2024년 4월에 작성됐습니다! 오랜 시간이 지났다면 원본 문서를 보는 것을 권장합니다!

경고

이 가이드는 많은 개념을 단순화하여 더 많은 사람들이 실제로 사용할 수 있도록 설계되었습니다. 때로는 꽤 불안불안한 하지만 간단한 조치들과 약간 부정확한 설명이 있을 수 있으므로 전문가 분들의 이해를 부탁드립니다.
만약 Git 사용 경험이 있고 프로그래밍 기초를 가지고 계시다면 그럼 당신은 왜 보고 있나🔨, 약간 더 발전된 가이드인 Github Pull Request 진행과정을 확인해주세요.

소소한 GitHUb Pull Request 사용 가이드 (*´▽`)ノノ

기본 개념 및 용어 설명

장에서는 다소 지루한 내용을 다루고 있습니다. 관심 없으면 바로 실제 조작 부분으로 건너뛸 수 있으며, 이해되지 않는 부분은 나중에 다시 찾아보세요.

Repository (저장소)

repo로도 알려져 있으며 코드 및 다른 리소스 파일을 저장하는 곳입니다.

👇 현재 이 웹 페이지 및 그 내용 전체가 MAA의 저장소입니다 (일반적으로 MAA의 기본 저장소로 불립니다).

image

Fork (복사)

단어 그대로 MAA의 코드를 복사하고 나서 수정 등의 작업을 수행할 수 있습니다. 원본을 망치지 않도록 조심하세요.
그러나 중국어로 "복사"라는 용어를 사용할 때는 일반적으로 "복사"라는 용어를 생각합니다.또한 "fork"라는 명확한 번역이 없으므로 일반적으로 영어를 사용합니다. 예를 들어 "코드를 fork하여 복사합니다."

복사한 것은 MAA (1) (bushi)입니다.
원래 저장소와 구별하기 위해 일반적으로 원래 MAA 저장소를 "원본 저장소", "원격 저장소", "상위 저장소"로 지칭합니다.
각 사람이 자신의 복사본을 만들 수 있기 때문에 복사본을 "개인 저장소"로 지칭합니다.

image

Pull Request

PR로도 알려져 있으며, "풀 리퀘스트"라는 용어는 너무 길고 타이핑 하기 싫어서 글자 수가 많고 너무 힘들어 그래서 모두 간단하게 "PR"이라고 부릅니다.
앞서 fork(복사)한 개인 저장소에서 수정한 내용을 주 저장소에 제공하려면 PR을 엽니다.

물론 "요청"이니까 승인이 필요합니다. MAA 팀의 분들이 당신의 변경 사항에 대해 몇 가지 의견을 제시할 수 있습니다. 물론 우리의 의견이 모두 옳은 것은 아니며, 합리적으로 논의합니다~

👇 아래는 현재 전문가들이 제시한 PR을 대기 중인 상태입니다.

image

Conflict (충돌)

가정해 봅시다. 원 저장소에는 A 파일이 있으며 내용이 111입니다. 당신은 이를 fork하여 내용을 222로 변경했지만, PR을 제출하기 직전에 누군가가 fork하여 PR을 제출하고 A 파일을 333으로 변경했습니다.
이 경우 둘 다 A 파일을 수정했으며 수정 사항이 다르므로 누구의 것을 사용할지 결정해야 합니다. 이것이 충돌입니다.
충돌 해결은 꽤 복잡하지만 여기서는 개념을 설명하기 위해만 언급하며 실제로 발생할 때 무슨 일이 일어나는지 이해할 수 있도록 하겠습니다. 해결 방법에 대해서는 현재 설명하지 않겠습니다.

웹 기반 PR 작업 전체 프로세스

  1. 먼저 MAA 주 저장소로 이동하여 코드를 fork합니다.

    ~ NKHB1CIE8H

  2. "마스터 브랜치만" 옵션을 해제한 다음 Fork를 클릭합니다.

    20221004144039

  3. 이제 개인 저장소로 이동하면 제목이 "YourName/MaaAssistantArknights"이고 아래에 한 줄짜리 작은 글씨로 "forked from MaaAssistantArknights/MaaAssistantArknights" (MAA 주 저장소에서 복제됨)이라고 표시됩니다.

    image

  4. dev 브랜치로 전환합니다. (브랜치 개념은 이 문서와는 관련이 없으며사실 나는 귀찮아서 쓰지 않았습니다, 관심이 있다면 검색하여 알아보세요. 여기에서는 그냥 이렇게 조작하면 됩니다. 원리를 고려할 필요는 없습니다)

    image

  5. 수정하려는 파일을 찾아 "Go to file"을 클릭하여 전역 검색을 수행하거나 아래 폴더에서 직접 찾을 수 있습니다. (파일의 위치를 알고 있다면)

    image

  6. 파일을 열면 파일 오른쪽 상단의 ✏️을 클릭하여 편집합니다.

    image

  7. 수정하세요! (리소스 파일과 같은 경우 먼저 컴퓨터에있는 MAA 폴더에서 수정 사항을 테스트 한 다음 웹 페이지로 복사하여 잘못된 수정을 방지하세요)

  8. 수정이 완료되면 맨 아래로 스크롤하여 수정 내용을 적습니다.

    image

  9. 두 번째 파일을 수정해야합니까? 수정 후 오류가 발생하여 수정을 다시하고 싶습니까? 전혀 문제가되지 않습니다! 5-8을 반복하세요!

  10. 모두 완료되면 PR을 제출하세요! Pull Request 탭을 클릭합니다.
    Compare & Pull Request 버튼이 있으면 좋지만 없어도 걱정하지 마세요. 아래의 New Pull Request를 클릭하면 됩니다. (11단계 참조)

    image

  11. 이제 주 저장소로 이동하여 제출할 PR을 확인합니다.
    아래 그림에서 화살표가 있는 곳은 오른쪽에 개인 이름/MAA의 dev 브랜치를 주 저장소/MAA의 dev 브랜치에 병합하는 것입니다.
    그런 다음 제목, 수정한 내용 등을 작성하고 확인을 클릭합니다.

    20221004151004

  12. MAA 팀의 전문가들의 검토를 기다립니다! 물론 그들도 의견을 제시 할 수 있습니다.
    👇 예를 들어(오로지 오락을 위한 것이니 진지하게 받아들이지 마세요)
    image

  13. 만약 전문가들이 몇 가지 작은 문제를 수정하라고 말한다면 개인 저장소로 돌아가 이전의 dev 브랜치로 이동하여 3-9 단계를 반복하세요!
    당신의 현재 PR은 여전히 검토 대기 중이므로 나중에 수정 사항이 이 PR에 직접 반영됩니다.
    👇 예를 들어 아래에서 "재수정 데모"라는 새로운 내용이 추가된 것을 볼 수 있습니다.
    image

  14. 전문가들의 승인을 기다리면 모두 완료됩니다! 버전이 출시되면 당신의 GitHub 프로필 사진이 자동으로 기여자 목록에 추가됩니다. 모든 분들의 자비로운 공헌에 감사드립니다!
    왜 모든 사람들이 이중 인격이야, 오 나도 그렇지, 그럼 괜찮아

    기여자

    개발/테스트에 참여한 모든 친구들에게 감사드립니다. 여러분의 도움으로 MAA가 점점 더 좋아지고 있습니다! (*´▽ `)ノノ

    Contributorsopen in new window

  15. 다음에 다른 PR을 제출하려면 먼저 dev 브랜치로 전환한 다음 아래 그림과 같이 진행하세요.

    경고

    이 조작은 개인 저장소를 주 저장소와 완전히 동일한 상태로 강제로 동기화합니다. 이것은 충돌을 해결하는 가장 간단하고 효과적인 방법입니다. 그러나 개인 저장소에 이미 추가한 것이 있으면 그것이 삭제됩니다!

    충돌을 일으키지 않을 경우 오른쪽에 초록색 Update Branch 버튼을 사용하세요.

    에서 설명한 이 모든 것을 모르거나 알 필요가 없다면 왼쪽의 버튼을 클릭하세요.

    image

    그러면 3-14 단계를 반복하여 수정하고 PR을 제출하면 됩니다~

GitHub Pull Request 사용 가이드

이 문서는 기계 번역된 것입니다. 가능하시다면, 중국어 버전을 참조해주세요. 오류나 개선 제안에 대해 감사드리겠습니다.

⚠️ 팔라스 경고 ⚠️ 버프 스태킹 경고 ⚠️

이 튜토리얼에서는 일부 개념을 간소화하여 더 넓은 사용자들이 쉽게 접근할 수 있도록 설명되었습니다. 이를 위해 일부 우아함과 정확성이 희생되었을 수 있습니다. Git과 프로그래밍 지식에 익숙한 경우, 더 고급스러운 튜토리얼인 개발 환경 구축을 참조하시기 바랍니다.

기본 개념과 용어

이 장에는 약간의 이론적인 내용이 포함되어 있습니다. 관심 없으시다면 바로 아래의 실제 섹션으로 건너뛰시면 됩니다. 이해하지 못하는 내용이 있다면 나중에 다시 읽어보세요.

Repository

"Repo"는 "repository(저장소)"의 약자로, 코드와 기타 리소스 파일들을 저장하는 장소입니다.

👇 MAA(일반적으로 MAA의 메인 저장소라고도 합니다)의 현재 웹 페이지와 그 내용 전체를 저장소로 생각하실 수 있습니다.

이미지

Fork

복사, 말 그대로 MAA의 코드를 복사하여 이후 수정과 작업을 수행하면서 원본을 손상하지 않도록 합니다.

복사본이므로 MAA (1)이라고 가정해봅시다. 원본 저장소와 구분하기 위해 일반적으로 원본 MAA 저장소를 "메인 저장소", "upstream", 또는 "origin"이라고 부릅니다. 또한, 누구나 자신의 복사본을 만들 수 있으므로 이 복사본 저장소를 "개인 저장소"라고 합니다.

이미지

Pull Request(풀 리퀘스트)

이전 섹션에서 진행한 작업 후에, 변경한 내용을 메인 저장소에 제공하는 방법은 무엇일까요? 이때 Pull Request(PR)를 열어서 수정된 내용을 메인 저장소에 추가해달라고 요청할 수 있습니다.

물론, 이것이 "요청(request)"이기 때문에 승인이 필요합니다. MAA 팀에서는 당신의 변경 사항에 대한 피드백을 제공할 수 있으나, 피드백이 항상 완전히 정확한 것은 아닐 수 있습니다. 함께 합리적인 토론을 진행해봅시다~

👇 다음은 기여자들이 현재 제출한 PR이며, MAA 팀의 승인을 기다리고 있습니다.

이미지

Conflict(충돌)

메인 저장소에 A라는 파일이 있으며, 그 내용은 111입니다. 당신은 이를 포크하여 복사하고 내용을 222로 변경했습니다. 그러나 PR을 제출하기 직전에 다른 사람인 Zhangsan이 A 파일을 포크하여 내용을 333으로 변경하고 PR을 제출했습니다.
이제 우리는 충돌(conflict)이 발생했습니다. 두 사람 모두 A 파일을 수정했지만, 다른 방식으로 수정한 것입니다. 이 충돌은 해결하기 어려울 수 있으며, 여기서는 상세한 해결 방법에 대해 설명하지 않고 개념만 설명합니다.

웹 기반 PR 작업의 전체 과정

  1. 먼저 MAA 메인 저장소로 이동하여 코드의 복사본을 포크합니다.

    ~ NKHB1CIE8 G(UK@ %3 </code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>H

  2. "Only master branch" 옵션을 해제하고 "Create Fork"를 클릭합니다.

    20221004144039

  3. 본인의 개인 저장소로 이동합니다. 제목은 "Your Name/MaaAssistantArknights"로 되어 있으며, 아래에 "forked from MaaAssistantArknights/MaaAssistantArknights"라는 작은 메모가 있습니다(이는 MAA 메인 저장소에서 복사한 것입니다).

    이미지

  4. "dev" 브랜치로 전환합니다(브랜치 개념은 이 튜토리얼과 관련이 없으므로 이 곳에서는 설명을 생략합니다. 단순히 브랜치를 전환

하기 위해서는 이 지침을 따르기만 하면 됩니다).

이미지
5. 수정하려는 파일을 찾습니다. 전역적으로 검색하려면 "Go to file"을 클릭하거나 아래 폴더를 탐색할 수 있습니다(파일의 위치를 알고 있다면).

이미지
6. 파일을 열면 파일 우측 상단의 ✏️ 아이콘을 클릭하여 편집을 시작합니다.

이미지
7. 변경 사항을 작성하세요! (리소스 파일인 경우, 오류를 방지하기 위해 웹 페이지에 붙이기 전에 로컬 MAA 폴더에서 변경 사항을 테스트하는 것이 좋습니다).
8. 편집을 마치면 페이지 하단으로 스크롤하여 변경 사항을 설명합니다.

이미지
9. 다른 파일을 수정해야 하나요? 실수를 해서 다시 변경해야 하나요? 문제 없습니다! 다른 파일에 대해 위 단계 5-8을 반복하기만 하면 됩니다.
10. 모든 변경 사항이 완료되었다면, 개인 저장소의 Pull Request 탭으로 이동하여 Pull Request을 생성합니다.
"Compare & Pull Request" 버튼이 있으면 클릭하시면 됩니다! 없다면 걱정하지 마세요. 아래 "New Pull Request"를 클릭해도 됩니다(단계 11 참조).

![이미지](https://user-images.githubusercontent.com/18511905/193755450-59137215-4e0b-4eca-9ec9-8b35b52cd5ff.png)
  1. 이제 메인 저장소로 이동하게 됩니다. PR을 제출할 변경 사항을 다시 한 번 확인하세요.
    위 그림과 같이 왼쪽 화살표가 있습니다. 이것은 본인이 포크한 "Your name/MAA" 저장소의 dev 브랜치를 "MAA" 메인 저장소의 dev 브랜치로 병합하려는 의미입니다.
    그런 다음, 변경 사항에 대한 제목과 설명을 작성하고 "Create Pull Request"를 클릭하세요.

    20221004151004

  2. MAA 팀 전문가들의 리뷰를 기다리세요! 물론, 그들은 몇 가지 코멘트를 제공할 수도 있습니다.
    👇 예를 들면(즐겁게 보세요, 심각하게 받아들이지 마세요):
    이미지

  3. 추가 변경 사항이 요청되면 개인 저장소로 돌아가 dev 브랜치로 전환하고 단계 3-9를 반복하세요!
    현재 Pull Request은 리뷰를 기다리고 있기 때문에 단계 2(재포크)와 단계 10(재Pull Request)을 다시 수행할 필요는 없으며, 후속 변경 사항은 이러한 Pull Request에 직접 추가됩니다.
    👇 예를 들어, "revised demo"가 아래에 추가된 것을 볼 수 있습니다.
    이미지

  4. 전문가들이 PR을 승인하면 모두 완료됩니다! 버전이 릴리스되면 GitHub 아바타가 자동으로 기여자 목록에 추가됩니다. 무한한 헌신에 감사드립니다!
    이미지

  5. 다음 번에 또 다른 PR을 제출하려면 먼저 dev 브랜치로 전환한 다음, 아래 이미지에 표시된 단계를 따르세요.
    주의하세요! 이 작업은 개인 저장소를 메인 저장소와 정확히 동일한 상태로 강제로 동기화합니다. 이것은 충돌을 해결하는 가장 간단하고 효과적인 방법이지만, 개인 저장소에서 추가 편집한 내용이 직접 삭제됩니다!
    충돌이 발생하지 않을 것이라고 확신한다면, 오른쪽의 "Update Branch" 버튼을 사용하세요.

    위에서 설명한 내용에 대해 확신이 없거나 신경 쓰지 않으시면, 왼쪽의 버튼을 클릭하세요.

    이미지

    그런 다음 단계 3-14를 반복하여 변경 사항을 만들고 PR을 제출하세요.