programing

깃허브에서 위키 페이지를 끌어오기 요청을 하려면 어떻게 해야 합니까?

i4 2023. 6. 25. 18:22
반응형

깃허브에서 위키 페이지를 끌어오기 요청을 하려면 어떻게 해야 합니까?

GitHub에서 편집할 수 없는 Wiki 페이지를 보았습니다.그런 다음 프로젝트를 포크하고, "내 쪽"에서 편집하고, 끌어오기 요청을 시도했습니다.위키는 프로젝트에 포함되어 있지 않습니다. 그리고 위키를 변경할 방법이 없습니다.

이 경우에 위키에 대한 변경을 제안하고 싶다면 이메일 이외에 진행할 수 있는 방법이 있습니까?

이 시점에서 "유사한 제목을 가진 질문"에서 대안으로 보이는 것을 발견했지만 아직 풀 요청을 수행할 수 없었기 때문에 하위 모듈이 이러한 목적에 적합한지 확신할 수 없습니다.이제 보니 어떻게든 가지를 쳐낼 수 있을 것 같네요...이 길이 맞나요?

GitHub은 Wiki 저장소에 대한 요청을 지원하지 않고 기본 저장소만 지원합니다(이것은 조금 아쉽긴 하지만, IMO이지만 이해할 수 있습니다).

다음은 한 프로젝트가 위키에 대한 커뮤니티 업데이트를 관리하면서 소스 코드와 같은 엄격한 통제를 유지하는 흥미로운 방법입니다.

제안된 워크플로우는 다음과 같습니다.

  1. Github 계정에 수동으로 Taffy Wiki 포크를 만듭니다.
    • github 계정에 새 리포지토리를 만듭니다.그것을 "태피-위키"라고 부르자.
    • Wiki 합니다. Taffy Wiki repo는 다음과 같습니다.git clone git@github.com:atuttle/Taffy.wiki.git
    • 새 " "origin" "github repo"로 합니다.git remote rm origin그리고.git remote add origin git@github.com:<YOUR_USERNAME>/Taffy-Wiki.git
  2. 제안된 로컬에서 변경한 계정으로 .git push -u origin master origin master'는하고, 에는 '('-u origin master'의 경우에만 필요합니다.)git push)
  3. Taffy 공식 이슈 추적기에 티켓을 제출하여 변경 사항을 검토하고 통합하도록 요청하십시오.보고서에 대한 링크를 포함하고 변경된 내용을 설명하십시오.
  4. 2번으로 이동

(Taffy 문서기여할 수 있는 방법)

저라면 기본 저장소(즉, 사용자가 분기한 저장소)에서 Wiki 업데이트를 제안하는 문제를 만들 것입니다.문제가 활성화되지 않은 경우에는 이메일이 유일한 다른 옵션입니다.

우리는 https://devonfw.com 에서 지금까지 이 문제에 대한 최고의 해결책을 찾았습니다.

  1. 문서 폴더 내의 코드와 함께 문서를 Git 저장소에 넣습니다.
  2. 문서 폴더의 모든 변경 사항을 Wiki Git에 적용하여 스테이징하는 마법으로 Travis CI 빌드를 확장합니다.아래의 마지막 예제 링크를 참조하십시오.
  3. Wiki를 설명서의 읽기 전용 보기로 간주합니다.github.com 을 사용해도 문서 폴더의 파일을 보고 직접 편집할 수 있습니다.따라서 Wiki를 통해서만 브라우저 내의 오타를 몇 초 이내에 수정할 수 있습니다(Repo에 대한 권한이 없는 PR로도 가능).
  4. 기여자가 분기할 때, 그/그녀는 코드가 있는 문서도 마찬가지입니다.하나의 PR에서 둘 다 변경할 수 있고 모든 것이 동일한 프로세스에서 검토되므로 병합 후에도 코드와 문서가 동기화된 상태로 유지됩니다.그래도 사이드바 등으로 위키에서 문서를 읽을 수 있는 더 좋은 UX를 가지고 있습니다.

우리는 100% OSS이기 때문에 이 훌륭한 솔루션에 도달하기 위한 우리의 노력을 공유하고 싶습니다.예를 들어 다음 링크가 있습니다.

저는 이것에 대해 다른 접근법을 취했습니다. 바로 동일한 내용을 메인 레포와 위키 모두에 적용하는 것입니다.이것이 모두의 입맛에 맞지는 않겠지만, Risk-First는 주로 주요 저장소에 몇 개의 지킬 페이지가 있는 위키입니다.

이는 당김 요청/포크 프로세스가 정상적으로 작동함을 의미합니다.그러나 풀 요청을 병합한 후에는 로컬 저장소로 풀한 다음 주 저장소와 Wiki 모두로 푸시하는 추가 단계를 수행해야 합니다. Git는 여러 오리진 URL로 정상적으로 지원합니다.

localhost:website robmoffat$ git remote show origin
* remote origin
  Fetch URL: git@github.com:risk-first/website.git
  Push  URL: git@github.com:risk-first/website.wiki.git
  Push  URL: git@github.com:risk-first/website.git
  HEAD branch: master

이를 위해 두 리포지토리의 커밋을 다음과 같이 병합했습니다.

두 Git 저장소를 병합하려면 어떻게 해야 합니까?

그런 다음 다음 두 리포지토리에 다음과 같이 푸시합니다.

Git - 코드를 두 개의 리모컨으로 푸시 중

끌어오기 요청은 수행할 수 없지만 문제를 열고 Wiki 페이지에 대한 링크를 붙여넣은 다음 Wiki 페이지에서 해당 Wiki 페이지로 병합되도록 할 수 있습니다.

GitHub의 Wiki는 전체 리포지토리이므로 이를 그렇게 취급할 수 있습니다.따라서 다음과 같은 효과가 있습니다.

간단히 말해서:

그들은 단지 당신의 위키 페이지 저장소를 복제하기만 하면 됩니다, (git clone YOUR_FORKED_REPO.wiki.git), 모든 Wiki 커밋을 하나의 큰 커밋으로 압축한 다음 이 크게 압축된 커밋을 저장소에서 선택합니다.그러면 모든 Wiki 변경 내용이 Wiki에 추가됩니다.

전체 지침:

(Larry Botha의 GitHubgist에서 복사: 분기된 GitHub 저장소에서 Wiki 변경사항 병합):

분기된 GitHub Repo에서 Wiki 변경 사항 병합

이것은 Roman Ivanov에 의해 GitHub Wiki Changes From One Repository에서 영감을 받은(또는 기본적으로 복사된) 것이며, 원본 문서에 무슨 일이 발생하더라도 여기에서 정보가 안전하게 유지되도록 하는 역할을 합니다.

용어.

OREPO: original repo - 소유자가 만들거나 유지 관리하는 repo

FREPO: 아직 OREPO에 없는 위키 업데이트가 있는 것으로 추정되는 분기된 레포.

기여

분기한 보고서의 Wiki에 기여하려면 다음을 수행합니다.

  • 빚을 갚다, 빚을 갚다
  • Wiki만 컴퓨터에 복제:$ g clone [FREPO].wiki.git
  • 로컬 포크된 Wiki 보고서를 변경합니다.
  • GitHub에 변경사항 푸시

작성자에게 변경사항이 있음을 알릴 준비가 되었으면 다음 작업을 수행합니다.

  • OREPO에 대한 이슈를 공개합니다.
  • 병합이 용이하도록 Wiki의 Git repo에 대한 직접 링크를 제공합니다. , [FREPO]wiki.git

변경사항 병합

OREPO의 소유자로서 이제 다른 사람의 FREPO에 사용자의 Wiki에 대한 업데이트가 있다는 메시지를 받았습니다.

최신 OREPO Wiki에서 변경된 Wiki가 분기된 경우 다음 작업을 수행할 수 있습니다.

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git

# squashing all FREPO changes
$ git pull [FREPO].wiki.git master

$ git push origin master

OREPO Wiki가 FREPO가 시작된 위치보다 앞서 있는 경우 다음을 수행합니다.

$ git clone [OREPO].wiki.git
$ cd [OREPO].wiki.git
$ git fetch [FREPO] master:[FREPO-branch]
$ git checkout [FREPO-branch]

# Check out to last OREPO commit
$ git reset --hard [last-OREPO-commit-hash]

# Do massive squash of all FREPO changes
$ git merge --squash HEAD@{1}
$ git commit -m "Wiki update from FREPO - [description]"
$ git checkout master

# Cherry-pick newly squashed commit
$ git cherry-pick [OREPO-newly-squashed-commit]
$ git push

한 페이지 길이의 문서가 있어도 괜찮으면(실제로는 더 마음에 듭니다), 다음을 가로챌 수 있습니다.README.MD거기에 위키 내용을 넣어주세요.

일반 리포지토리의 일부로 추적될 뿐만 아니라 홈 페이지에도 표시됩니다.

빠른 참조로 시작한 다음 보다 자세한 설명/설명을 참조하여 일반 사용자가 보다 일반적인 정보를 먼저 입력하도록 할 수 있습니다.

@Gabriel Staples 답변 외에도 git 패치 파일을 생성하여 업스트림 repo에서 이슈를 생성할 때 첨부할 수 있습니다.그렇게 하면 그들은 쉽게 적용할 수 있습니다.

GitHub은 이제 이 기능을 지원하며 자세한 내용은 Wiki 페이지 추가 또는 편집에서 확인할 수 있습니다.

이제 분기, 꺼내기 요청, 커밋 등이 있는 "일반" 저장소로 취급됩니다.

언급URL : https://stackoverflow.com/questions/10642928/how-can-i-make-a-pull-request-for-a-wiki-page-on-github

반응형