[git] GitHub에서 위키 페이지를 요청하는 방법은 무엇입니까?
GitHub 에서 편집 할 수없는 위키 페이지를 보았습니다 . 그런 다음 프로젝트를 포크하고 “my end”에서 편집 한 다음 pull 요청을 시도했습니다. 위키 는 프로젝트에없고 변경 사항을 커밋 할 방법도 없다는 것이 밝혀졌습니다 .
이 경우에 위키에 대한 변경을 제안하고 싶다면 이메일 외에 다른 방법이 있습니까?
이 시점에서 나는 “유사한 제목의 질문” 에서 대안처럼 보이는 것을 찾았 지만 아직 풀 리퀘스트를 할 수 없었기 때문에 서브 모듈이이 목적에 좋은 방법인지 확신 할 수 없습니다. 이제 어떻게 든 분기 할 수 있다는 것을 알았습니다.이게 갈 길이겠습니까?
답변
GitHub 는 wiki 저장소에 대한 pull 요청을 지원하지 않고 메인 저장소 만 지원 합니다 (이것은 약간 부끄러운 일입니다. IMO이지만 이해할 수 있습니다).
다음은 한 프로젝트에서 위키에 대한 커뮤니티 업데이트를 관리하면서 소스 코드와 같이 엄격한 제어를 유지하는 흥미로운 방법입니다.
내 제안 된 워크 플로는 다음과 같습니다.
- 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
- 당신의 제안 된 변경 사항은 로컬, 다음 github의 계정으로 밀어 확인 :
git push -u origin master
( ‘-u 기원 마스터’첫 번째 시간을 요구, 이후에 바로 할git push
)- 변경 사항을 검토하고 병합하도록 요청하는 공식 Taffy 문제 추적기에 티켓을 제출 하십시오 . 저장소에 대한 링크를 포함하고 변경 사항을 설명하십시오.
- 고토 # 2
( Taffy 문서에 기여할 수있는 방법 에서 .)
저라면 메인 저장소 (즉, 포크 한 저장소)에 위키 업데이트를 제안하는 문제를 만들 것입니다. 문제가 활성화되지 않은 경우 이메일은 제가 생각할 수있는 유일한 다른 옵션에 대한 것입니다.
답변
지금까지 https://devonfw.com 에서 문제에 대한 최상의 솔루션을 찾았습니다 .
- 문서 폴더 내의 코드와 함께 문서를 git 저장소에 넣으십시오.
- wiki git에 적용된 변환으로 해당 문서 폴더의 모든 변경 사항을 스테이징하는 마법으로 travis-ci 빌드를 확장하십시오. 아래의 마지막 예제 링크를 참조하십시오.
- 위키를 문서에 대한 읽기 전용보기로 간주하십시오. github.com을 사용하면 문서 폴더에있는 파일을 계속보고 직접 편집 할 수 있습니다. 따라서 위키를 통하지 않고 브라우저 내에서 몇 초 안에 오타를 수정할 수 있습니다 (저장소에 대한 권한이없는 PR에서도).
- 컨트 리뷰 터가 포크 할 때 코드가 포함 된 문서도 가지고 있습니다. 그는 하나의 PR에서 둘 다 변경할 수 있으며 동일한 프로세스에서 모두 검토되므로 코드와 문서를 병합 한 후에도 동기화 상태를 유지합니다. 여전히 사이드 바 등으로 위키에서 문서를 읽는 데 더 좋은 UX가 있습니다.
우리는 100 % OSS이기 때문에이 훌륭한 솔루션을 만들기 위해 열심히 노력하고 있습니다. 예를 들어 링크는 다음과 같습니다.
- https://devonfw.com/website/pages/docs/master-devon4j.asciidoc_introduction.html
- https://github.com/devonfw/devon4j/wiki/architecture
- https://github.com/devonfw/devon4j/blob/develop/documentation/architecture.asciidoc#architecture
- https://repo1.maven.org/maven2/com/devonfw/java/doc/devon4j-doc/3.2.0/devon4j-doc-3.2.0.pdf
- https://github.com/devonfw/devon4j/blob/develop/.travis.yml
답변
나는 이것에 대해 다른 접근 방식을 취했는데, 이는 정확히 동일한 콘텐츠를 메인 저장소와 위키 모두에 푸시하는 것입니다. 이것은 모든 사람의 취향이 아니지만 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 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
위키의 내용을 가로 채서 거기에 넣을 수 있습니다 .
일반 저장소의 일부로 추적 될뿐만 아니라 홈 페이지에도 표시됩니다.
빠른 참조로 시작한 다음보다 자세한 설명 / 지침으로 들어가 일반 사용자가 먼저보다 일반적인 정보를 볼 수 있도록 만들 수 있습니다.