첫 번째 PR (Pull Request)을 만드는 간단한 자습서

글쎄, 이것은 내가 생각하기에 상당히 짧은 튜토리얼이며 희망적으로 교훈적인 것입니다.). 내 github에서 사용할 수있는 작은 저장소를 만들어 PR을 보낼 수 있고 동시에 아래에서 남겨 둘 모든 단계를 수행하는 방법을 연습 할 수 있습니다. 다음은 테스트 PR을 수행하는 링크입니다.

https://github.com/CodeLabora/TuPrimerPR

PR을 보내는 데 필요한 단계를 빠르게 나열 해 보겠습니다.

  1. 포크
  2. 복제
  3. 원격수행
  4. 지사
  5. 변경
  6. 추가
  7. 커밋
  8. 푸시
  9. PR

git 명령 줄에서 각각의 옵션을 찾을 수 있도록 영어로 작성했습니다.

포크

포크는 Github 저장소의 자체 버전입니다. 이를 통해 다른 프로젝트의 작업을 복제하고 계정에 보관할 수 있으므로 변경 사항을 잃어 버릴 염려없이 변경할 수 있습니다. 포크를 만들려면 페이지로 이동하여 오른쪽 상단에있는 포크 버튼을 클릭하기 만하면됩니다.

개인적인. 크리스토퍼 디아즈 리베로 스

포크가 완료되면 저장소가 계정에 표시되는 것을 볼 수 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

복제

이제 저장소가 생겼으므로 우리 팀에 복제 할 것입니다. (리눅스를 사용하는 사람들이 나를 따르고 있다고 가정하지만 다른 시스템 사용자를 위해 공식 페이지에서 다운로드 할 수있는 git 버전도 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

그리고 터미널을 사용하여 다음을 수행합니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이를 통해 Github 프로젝트가 포함될 TuPrimerPR이라는 새 폴더가 생깁니다. «cd TuPrimerPR»명령을 사용하여 폴더에 들어가면 포크에있는 파일이 내부에 있음을 알 수 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

(파일 수는 포크할 때 내 저장소에서 찾은 내용에 따라 달라질 수 있습니다.)

원격수행

이것은 선택적 단계이지만 프로젝트에서 지속적으로 작업 할 때 많은 문제를 방지합니다. Fork는 기본적으로 저장소의 정확한 사본을 생성하지만 생성의 정확한 순간에 생성합니다. 즉, 프로젝트가 계속 진행되면 저장소가 며칠 또는 몇 시간이지나면서 뒤쳐 질 것입니다. "Git remote"를 사용하면 다른 다운로드 지점 (원래 프로젝트)을 지정할 수 있으므로 상위 프로젝트가 업데이트되는 것을 볼 때마다 프로젝트를 업데이트 할 수 있습니다.

상위 프로젝트를 찾으려면 저장소 이름 바로 아래에있는 링크를 사용하기 만하면됩니다. (포크 섹션의 두 번째 이미지 확인). 이 정보를 아래에 추가 할 예정입니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이것은 원래 프로젝트입니다 (우리는 상류에 많은 프로젝트를 따라 잡기 위해).

개인적인. 크리스토퍼 디아즈 리베로 스

보시다시피»git remote add로 원격을 추가했습니다. »

이를 통해 필요한 경우 프로젝트를 업데이트 할 수 있지만 필요하지 않기 때문에 지금은 사용하지 않을 것입니다. (나중에 또는 필요에 따라 다른 게시물에서 설명하겠습니다)

지사

분기 (또는 분기)를 사용하면 격리 된 환경에서 작업 할 수있는 코드 섹션을 만들 수 있습니다. 즉, 브랜치에서 수행하는 작업은»git merge«가 사용될 때까지 원래 코드에 반드시 영향을주지 않습니다. 또한 Github에서 허용하는 추가 기능으로, 브랜치를 생성 할 때마다 Github는 필요할 때 자동으로 Pull Request의 소스를 생성합니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이제 우리는 특별한 브랜치에 있으므로 기여할 수 있는 작업을 할 수 있습니다.

변경

파일 몇 개를 추가해 어떻게 진행되는지 확인하겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

"touch"를 사용하면 빈 파일을 만들 수 있습니다(존재하지 않는 경우). 이를 통해 우리는 다음 단계로 넘어갈 수 있습니다.

추가

»Git add»를 사용하면 커밋에 파일을 추가 할 수 있습니다 (나중에 설명하겠습니다). 추가 할 수있는 파일을 보려면»git status»명령을 사용할 수 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이것으로 우리는 커밋을위한 모든 준비가되어 있습니다.

커밋

커밋은 시간의 표시 (또는 마일스톤)입니다. 프로젝트의 모든 파일에 대한 상태를 정의하고 프로젝트의 시작에서 현재 상태로 가져 오는 데 필요한 변경 사항을 누적합니다. 약간 복잡하게 들리지만 아주 간단합니다. 프로젝트의 계단이라는 점만 기억하세요. »git commit»을 작성하면 커밋 메시지를 작성할 수있는 창이 나타납니다.

개인적인. 크리스토퍼 디아즈 리베로 스

텍스트를 완료하고 저장하면 다음과 같은 내용이 표시됩니다.

개인적인. 크리스토퍼 디아즈 리베로 스

커밋이 수행하는 작업에 대한 요약이 표시됩니다.

푸시

푸시를 통해 인터넷의 저장소에없는 컴퓨터에있는 모든 커밋을 Github 계정에 업로드합니다. 이렇게하면 Github에서 새 PR을 자동으로 생성 할 수 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

우리는 우리 지점의 이름을 사용하고 있으며 우리의 사용자 이름과 암호를 요구한다는 것을 주목하십시오. 마지막으로 myImprovement 브랜치가 Github 계정 내에 생성되었음을 보여줍니다. 우리가 브라우저에서 무엇을 성취했는지 봅시다. 😉

PR

개인적인. 크리스토퍼 디아즈 리베로 스

보시다시피 "Compare & Pull request"라는 새로운 라인이 생성되었습니다. 이 Github 기능을 통해 간단한 방법으로 PR을 생성 할 수 있습니다. 클릭하여 어떤 일이 발생하는지 확인하겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

Github는 꽤 똑똑합니다. 보시다시피 커밋의 일부가 제출을 위해 양식에 추가됩니다. 버튼을 클릭하면 🙂 간단합니다.

여분의

이것은 프로젝트의이면에서 PR이 나타나고 관리자는 수락 여부를 결정하거나 더 많은 메시지를 쓸지 결정합니다. 제 경우에는 즉시 수락하겠습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

병합이 완료되면 프로젝트의 커밋 로그와 이름을 볼 수 있습니다.

개인적인. 크리스토퍼 디아즈 리베로 스

하지만 이제 우리는 문제가 있습니다. 해당 커밋은 우리의 프로젝트에만 있습니다. 우리의 먼 통로를 기억하십니까? 지금이 가치가 있습니다 🙂

마스터 브랜치로 돌아가서 다음을 수행합니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이것으로 우리는 원래 프로젝트의 모든 정보를 우리 팀에 다운로드했습니다. 보시다시피 여기에 커밋이 나타납니다. 이제이 모든 작업을 Github 저장소에 저장하여 프로젝트에 이미 추가 한 기여가있는 브랜치를 삭제할 것입니다.

개인적인. 크리스토퍼 디아즈 리베로 스

이제 업데이트 된 Github 저장소가 있으므로 브랜치를 삭제할 것입니다. 먼저 브랜치가 메인 브랜치 (마스터) 안에 있는지 확인합니다.

개인적인. 크리스토퍼 디아즈 리베로 스

보시다시피 약간의 오류가 있었는데, 삭제하려고 할 때 myImprovement 브랜치에 있었기 때문입니다. 이것은 마스터 브랜치로 돌아가서 수정됩니다.

결론

완료 🙂 그렇게 간단합니다. PR 전송에 대한 Github의 어두운 비밀을 습득 했으므로 이제 다양한 프로젝트에 대한 귀하의 기여를 기대합니다. 그리고 원한다면 내 저장소에 첫 번째 PR을 남겨 둘 수 있습니다. 😉.

나는 수천 가지 Git 혜택을 건드리지 않았습니다 (오조, Github가 아니라) 커널 커뮤니티에 묶여있는 개발자들에게 기대할 수 있듯이 Git은 수백 가지 기능을 갖춘 매우 강력한 도구입니다.

그것이하는 일과 Git의 모든 힘에 대한 더 나은 아이디어를 얻으려면 이것을 적극 권장합니다. . git 실력 향상에 많은 도움이 되리라 확신합니다.

인사하고 도움이 되었기를 바랍니다 😉


6 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   크리스티안 아브라 수아

    훌륭한 튜토리얼입니다. 계속해서 Git을 탐구 할 수 있기를 바랍니다. 감사합니다!

  2.   크리스ADR

    분명한! 나는 이것과 다른 많은 것들에 관해 가능한 한 빨리 더 많은 콘텐츠를 추가할 것입니다.

  3.   구스타보

    우수한

    1.    크리스ADR

      그것이 당신에게 얼마나 좋은지 😉 인사말

  4.   4월

    연습 할 수있게 되 자마자 정말 감사합니다.이 튜토리얼은 제가 오랫동안 찾고 있었지만 찾지 못했습니다!

  5.   Ch3ss마스터

    기본부터 아주 잘 설명했습니다. 감사합니다. 시간이 있으면 캡 투아를 개선하겠습니다.