IT story

GitHub에서 다른 사람의 코드에 어떻게 기여합니까?

hot-time 2020. 4. 16. 08:29
반응형

GitHub에서 다른 사람의 코드에 어떻게 기여합니까?


GitHub 의 특정 프로젝트에 기여하고 싶습니다 . 내가해야 포크 를? 분기 ? 권장 사항과 방법은 무엇입니까?


이상적으로 당신 :

  1. 프로젝트를 포크
  2. 리포지토리에 대해 하나 이상의 잘 주석 처리되고 깨끗한 커밋을 만듭니다. 둘 이상의 부품 또는 피쳐를 수정하는 경우 여기에 새 분기를 만들 수 있습니다.
  3. github의 웹 인터페이스에서 풀 요청수행하십시오 .

새로운 기능 요청 인 경우 먼저 코딩을 시작하지 마십시오. 새로운 기능에 대해 논의하려면 이슈를 게시하십시오.

기능에 대해 잘 설명하고 +1 또는 프로젝트 소유자가 승인 한 경우 문제를 직접 할당 한 다음 위의 단계를 수행하십시오.

일부 프로젝트는 풀 요청 시스템을 사용하지 않습니다. 코드를 프로젝트로 다시 가져 오는 가장 좋은 방법은 작성자 또는 메일 목록을 확인하십시오.


Yann의 답변에 추가하기 위해 프로젝트를 분기하면 원하는 분기 (새로운 프로젝트 또는 원래 프로젝트의 분기)에서 개발할 수 있습니다

기억해:


Yan과 VonC의 답변에 추가하기 위해 이것은 github 자체의 좋은 자료입니다 : http://help.github.com/forking/

또한 "협업"제목 아래의 오른쪽 사이드 바를 확인하십시오.


이 과정을 안내하는 훌륭한 Railscast 비디오가 여기 있습니다 . 또한 테스트, 서브 모듈 등을 사용하여 기여할 때 어떤 브랜치를 사용할지 결정하는 방법을 보여주는 것과 같은 여러 가지 유용한 팁이 있습니다.

이 스크린 캐스트는 주로 Rails 개발자를 대상으로하지만 대부분의 정보는 모든 오픈 소스 프로젝트에 기여하는 데 유효합니다.


Github에는 여러 가지 프로젝트 협업 방법이 있습니다. 대부분의 프로젝트 사용 모델은 풀 요청 모델입니다. 사람들이 처음 GitHub 풀 요청을 할 수 있도록 프로젝트를 시작했습니다. 실습 자습서를 통해 첫 번째 PR만들 수 있습니다.

워크 플로우는 다음과 같이 간단합니다.

  • github에서 repo를 포크하십시오.
  • 리포지토리를 컴퓨터에 복제
  • 지점을 만들고 필요한 변경
  • GitHub에서 변경 사항을 포크로 푸시하십시오. git push origin branch-name
  • Compare and pull request버튼 을 보려면 GitHub의 포크로 이동하십시오
  • 그것을 클릭하고 필요한 세부 사항을 제공하십시오

lornajane은 프로세스를 잘 설명하는 블로그 게시물을 가지고 있습니다 : http://www.lornajane.net/posts/2010/contributing-to-projects-on-github


기술 워크 플로우

다음과 같은 워크 플로를 제안합니다.

  1. 저장소를 포크합니다 (GitHub 웹 인터페이스를 통해 : "포크"버튼)
  2. 분기 저장소에서 URL을 복사하십시오.
  3. 복제 (명령 줄에서)

    git clone <url-from-your-workspace>

  4. 방금 만든 디렉토리를 입력하고 지점을 만듭니다.

    cd <directory> git checkout -b <branchname>

  5. 이제 변경하십시오

  6. 각 변경 후 하나 이상의 커밋을 만들 수 있습니다.

    commit -a

  7. 완료되면 변경 사항을 푸시하십시오.

    git push origin <branch>

  8. 명령 행 에 PR을 작성하기위한 URL표시 되어야합니다 . URL을 방문하여 버튼을 클릭하여 PR을 만드십시오.

  9. 그렇지 않은 경우 브라우저의 저장소를 방문하면 풀 요청을 작성하기위한 단추가 제공됩니다.

그게 다야.

따라서 기본적으로 저장소를 작업 공간으로 분기하고 새 분기를 작성하고 새 분기를 푸시했습니다.

나중에 동일한 복제 된 리포지토리에서 더 많은 PR을 만드는 경우 다른 PR에 대한 다른 분기를 만들기 전에 동기화해야합니다 (원래 저장소에서 최신 변경 사항 가져 오기).

git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master

다른 고려 사항 :

  • 프로젝트에 컨트 리뷰 션 가이드 라인이있을 수 있습니다. CONTRIBUTING.rst 또는 .md 파일을 찾으십시오.
  • 프로젝트의 코딩 지침을 따르고 싶을 수도 있습니다.
  • 아이디어를 먼저 이슈로 설명하고 싶을 수도 있습니다
  • 프로젝트의 풀 요청 탭을보고 열려있는 PR, 병합 된 PR이 있는지 확인하십시오.

이러한 제안은 합병되지 않는 PR에 업무를 수행하는 데 따르는 문제를 해결하기위한 것입니다. 프로젝트에 활동이 있고 PR이 병합되면 이는 좋은 신호입니다. 컨트 리뷰 션 가이드 라인이있는 경우이를 따르십시오.

항상 정중하십시오. 프로젝트 관리자는 PR을 병합 할 의무가 없습니다. 프로젝트에 추가 할 가치가있는 것이 있습니까?

참고 URL : https://stackoverflow.com/questions/4384776/how-do-i-contribute-to-others-code-in-github

반응형