[git] GitHub에서 위키 페이지를 요청하는 방법은 무엇입니까?

GitHub 에서 편집 할 수없는 위키 페이지를 보았습니다 . 그런 다음 프로젝트를 포크하고 “my end”에서 편집 한 다음 pull 요청을 시도했습니다. 위키 는 프로젝트에없고 변경 사항을 커밋 할 방법도 없다는 것이 밝혀졌습니다 .

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

이 시점에서 나는 “유사한 제목의 질문” 에서 대안처럼 보이는 것을 찾았 지만 아직 풀 리퀘스트를 할 수 없었기 때문에 서브 모듈이이 목적에 좋은 방법인지 확신 할 수 없습니다. 이제 어떻게 든 분기 할 수 있다는 것을 알았습니다.이게 갈 길이겠습니까?



답변

GitHub 는 wiki 저장소에 대한 pull 요청을 지원하지 않고 메인 저장소 만 지원 합니다 (이것은 약간 부끄러운 일입니다. IMO이지만 이해할 수 있습니다).

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

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

  1. Github 계정에서 Taffy 위키의 포크를 수동으로 생성합니다.
    • github 계정에 새 저장소를 만듭니다. “Taffy-Wiki”라고 부르 자.
    • Taffy 위키 저장소를 로컬 머신 어딘가에 복제하십시오. git clone git@github.com:atuttle/Taffy.wiki.git
    • 원래 “origin”원격을 제거하고 github repo를 새 “origin”으로 추가 git remote rm origin하고git remote add origin git@github.com:<YOUR_USERNAME>/Taffy-Wiki.git
  2. 당신의 제안 된 변경 사항은 로컬, 다음 github의 계정으로 밀어 확인 : git push -u origin master( ‘-u 기원 마스터’첫 번째 시간을 요구, 이후에 바로 할 git push)
  3. 변경 사항을 검토하고 병합하도록 요청하는 공식 Taffy 문제 추적기에 티켓을 제출 하십시오 . 저장소에 대한 링크를 포함하고 변경 사항을 설명하십시오.
  4. 고토 # 2

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

저라면 메인 저장소 (즉, 포크 한 저장소)에 위키 업데이트를 제안하는 문제를 만들 것입니다. 문제가 활성화되지 않은 경우 이메일은 제가 생각할 수있는 유일한 다른 옵션에 대한 것입니다.


답변

지금까지 https://devonfw.com 에서 문제에 대한 최상의 솔루션을 찾았습니다 .

  1. 문서 폴더 내의 코드와 함께 문서를 git 저장소에 넣으십시오.
  2. wiki git에 적용된 변환으로 해당 문서 폴더의 모든 변경 사항을 스테이징하는 마법으로 travis-ci 빌드를 확장하십시오. 아래의 마지막 예제 링크를 참조하십시오.
  3. 위키를 문서에 대한 읽기 전용보기로 간주하십시오. github.com을 사용하면 문서 폴더에있는 파일을 계속보고 직접 편집 할 수 있습니다. 따라서 위키를 통하지 않고 브라우저 내에서 몇 초 안에 오타를 수정할 수 있습니다 (저장소에 대한 권한이없는 PR에서도).
  4. 컨트 리뷰 터가 포크 할 때 코드가 포함 된 문서도 가지고 있습니다. 그는 하나의 PR에서 둘 다 변경할 수 있으며 동일한 프로세스에서 모두 검토되므로 코드와 문서를 병합 한 후에도 동기화 상태를 유지합니다. 여전히 사이드 바 등으로 위키에서 문서를 읽는 데 더 좋은 UX가 있습니다.

우리는 100 % OSS이기 때문에이 훌륭한 솔루션을 만들기 위해 열심히 노력하고 있습니다. 예를 들어 링크는 다음과 같습니다.


답변

나는 이것에 대해 다른 접근 방식을 취했는데, 이는 정확히 동일한 콘텐츠를 메인 저장소와 위키 모두에 푸시하는 것입니다. 이것은 모든 사람의 취향이 아니지만 Risk-First 는 주로 메인 저장소에 몇 개의 Jekyll 페이지가있는 위키입니다.

이것은 pull request / fork 프로세스가 잘 작동 함을 의미합니다. 그러나 pull-request를 병합 한 후에는 로컬 저장소로 가져온 다음 여러 원본 URL로 git이 잘 지원하는 기본 저장소와 위키 모두에 푸시하는 추가 단계를 수행해야합니다.

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-두 개의 리모컨에 코드 푸시

이것이 누군가를 돕기를 바랍니다.


답변

풀 리퀘스트는 할 수 없지만 이슈를 열고, 위키 페이지에 링크를 붙여넣고, 위키 페이지에서 위키 페이지에 병합하도록 할 수 있습니다.

요컨대 :

위키 페이지 저장소를 복제하고, ( git clone YOUR_FORKED_REPO.wiki.git), 모든 위키 커밋을 하나의 큰 커밋으로 스쿼시 한 ​​다음,이 큰 스쿼시 커밋을 해당 저장소에 체리 선택하면됩니다. 그러면 모든 위키 변경 사항이 위키로 가져옵니다.

전체 지침 :

(여기 Larry Botha의 github 요점에서 복사 : https://gist.github.com/larrybotha/10650410 ) :

———- 위 GITHUB GIST에서 복사-붙여 넣기 시작 ————

분기 된 Github 저장소에서 Wiki 변경 사항 병합

이것은 Roman Ivanov의 How To Merge Github Wiki Changes From One Repository to another , by Roman Ivanov에서 영감을 얻었습니다 (또는 기본적으로 복사) .

술어

OREPO : 원본 저장소-소유자가 생성하거나 유지 관리하는 저장소

FREPO : 아직 OREPO 에 있지 않은 위키에 대한 업데이트가있는 것으로 추정되는 분기 된 저장소

기여

분기 한 리포지토리의 위키에 기여하려면 다음을 수행하십시오.

  • 저장소를 포크
  • 컴퓨터에 위키 만 복제 :
    $ g clone [FREPO].wiki.git
  • 로컬 포크 위키 저장소를 변경하십시오.
  • 변경 사항을 GitHub에 푸시

작성자에게 변경 사항이 있음을 알릴 준비가되면 다음을 수행하십시오.

  • OREPO에 이슈를 열다
  • 쉽게 병합 할 수 있도록 위키의 git 저장소에 대한 직접 링크를 제공하십시오. 예 : [ FREPO ] .wiki.git

변경 사항 병합

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

위키 변경 사항이 최신 OREPO 위키 에서 분기 된 경우 다음을 수행 할 수 있습니다.

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

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

$ git push origin master

경우 OREPO의 위키 앞서 어디에이다 FREPO가 에서 포크, 다음을 수행 :

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

#checkout 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

———- 위 GITHUB GIST의 복사-붙여 넣기 끝 ————


답변

한 페이지의 긴 문서를 가지고 있어도 괜찮다면 (실제로 더 마음에 든다), README.MD위키의 내용을 가로 채서 거기에 넣을 수 있습니다 .

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

빠른 참조로 시작한 다음보다 자세한 설명 / 지침으로 들어가 일반 사용자가 먼저보다 일반적인 정보를 볼 수 있도록 만들 수 있습니다.


답변