どのようにOSS、初心者ガイドに貢献することができます


私に従って、トピックや改善についてのご提案を取るに満足

TLDR; this post hopes to show you, who are curious about OSS, HOW to get started, what git commands you need to type and some concepts you should know about. This is detailed, with pictures :)


この記事では以下を説明します.

  • ルールと規則、あなたがOSSとエンタープライズ開発のためにしなければならないことについて話しましょう

  • はじめに、これはリポジトリをフォークしたり、ローカルブランチを作成したり、コードを追加したり、最終的にPRを引いたり、プルリクエストをするなどのことをカバーします

  • 変更要求に対処するには、貢献者には、タイトルなどのようなものを変更するよう要求しているか、または何をコミットするか、あるいはどのように1つのコミットにそれらを押しつぶす、それはすべてここで覆われている
  • だから、オープンソースに貢献できる方法について興味がありますか?良い、それは良い考え方を持っている.あなたが持っているどんな余分なサイクルでも費やすように、オープンソースであることは我々のすべてによって使われることができます、そして、同様に非常に良いものは非常に楽しいことと教育でもありえます.

    規則・規則
    オープンソースに貢献するのは、何らかの理由でルールがあります.すべての開発者の束を想像して貢献したい、我々は彼らの変更は、責任ある方法で行われることを確認する方法を持っている必要があります.責任は以下のことを意味するでしょう.

  • リンティング、いくつかのスタイルガイドに続く他の方法でのリンティング規則または

  • テストは、あなたの提案された変更と一緒に行くテストや追加テストを更新されます

  • コミットは、スカッシュされるか、または多くの小さなコミットに分割されます.これがうまく動作するように、各コミットは、例えばこのような命名規則の何らかの種類に従うべきです.Semantic commits

  • 始める
    ほとんどのプロジェクトでは、直接あなたのブランチをRPOに向かってプッシュすることはできませんが、リポジトリをforkする必要があります.フォークは、単にプロジェクトのコピーであり、直接あなたが助けたいプロジェクトに影響を与えないことを意味します.これはあなたのフォークの倉庫に自由に実験するための部屋を残します.それでは、どのように我々は実際のレポにこれらの変更を得るのですか?そのためには、PR、プルリクエストを作成する必要があります.それから、私たちはただ、査読者と彼らのCI(連続的な統合)システムとブームを通過するためにPRを得る必要があります.各ステップを詳細に表示するために必要な正確な手順を書き留めましょう.

  • リポジトリをフォークする

  • ローカルブランチを作成する

  • コードを追加し、必要に応じてローカルブランチでテストします

  • ローカルブランチへの変更をコミットする

  • プッシュコードとPRを上げる

  • 倉庫をフォークする

    このステップは非常に簡単です.ちょうどフォークボタンをクリックし、それはあなたのGitHubアカウントにリポジトリのコピーを作成します.

    枝を作る
    そこで今、私たちのコードのためのローカルブランチを作成します.分岐を作成し、1つの動作で確認できます.
    git checkout -b feature/name-of-my-feature
    
    今、あなたはコードで必要なものを変更する準備が整いました.

    テスト
    コーディングを開始する前に、あなたの変更をテストする方法について考えてください.ライブラリ/フレームワークの構築と実行、および付属のテストの実行方法について、特定のプロジェクトを確認してください.したら、任意のテストが中断した場合に表示されるコードを追加を開始します.テストがなければ、あなたは幸運/良いか、いくつかのテストを自分で追加する必要があります休憩してください.名前とコードのスタイルで、プロジェクトで他のテストがどのように書かれているか確認してください.

    委託
    ここの私の推薦は、あなたが一度にあまりに多くの変化を加えないということです.彼らが何をするかに従って、うまく名前をつけられる小さな集中コミットを持ちます.例えば、
    feat: adding pagination to product list
    
    or
    test: adding tests for pagination of product page
    

    プッシュ・チェンジ
    したら、あなたが達成しようとするものを達成した、それは変更をプッシュする時間です.以下のように入力します.
    オリジンマスター

    徐上げ広報
    ここでは、githubのあなたのフォークに行き、あなたはNew pull request ボタン.

    したら、次のページに次のように表示されます.

    上記のプッシュリポジトリと一緒に右側にあるリポジトリを選択する必要があります.それから、我々は緑のボタンを押す必要がありますCreate new pull request . この時点で、あなたのPRの名前を与えることができますし、いくつかのチェックボックスがある場合は、あなたの広報担当者に指示するチェックする必要があります参照してくださいすることができます.一度あなたの広報ボタンを作成するボタンを変更するテキストをView pull request . このボタンをクリックすると、実際のプルの質問に表示されます.
    さて、PRは実際のレポに住んでいて、変更しようとしています.

    何かが変化する必要があるならば、コアメンテナがあなたに話すように、このページのコメントに注意してください.また、何かが間違っているなら、CIシステムはあなたに言うかもしれません、そして、うまくいけば便利なエラーメッセージをあなたに提供します.


    変更要求を処理する
    これは、正しい取得するためにいくつかの反復を取るかもしれないプロセスです.以下のようになります.

  • タイトル、あなたのPRタイトル変更する必要があります

  • ハードを変更するには、コミットは小さくはなく、集中している必要がありますか

  • テストが失敗すると、テストが失敗します(ローカルでテストを受けたはずですが、たわみが起こります).

  • PRタイトル変更
    この変更の理由は、あなたのタイトルがある規格に従わないかもしれないということです.REPOで提供されている例を確認してください.

    スカッシュコミット
    この時点で、管理者はあなたのコミットの数が1コミットにされている可能性があると述べている.これらは通常、どのグループをグループ化するかを教えます.スカッシュはコミット数を1コミットします.では、どうやってこれを行うのですか?このリンクは、すべての手順を教えてくれますが、それらを通過しましょう.最初のコマンドから始めましょう.
    git rebase -i master
    
    この時点で、次のように表示されます.

    我々はこの時点ですべてのコミットを見ることができます.すべてのコミットはpick コミットIDとコミットメッセージが続きます.あなたがあなたが何もしないようにしたいコミットpick キーワード.この場合、最新のコミットがトップコミットに押しつぶされることを確認します.そのためには、2番目のコミットを変更します.

    上記のプレスi INSERTモードで終了するには、Vimです.今私たちは希望を変更したので、これを保存しましょう.プレスEsc 挿入モードを残す: とタイプ:wq これは変更を書き込み、vimを終了します.

    いや、Vimを抜くのは簡単なことだと思いましたか?今、あなたはコミットメッセージを調整するように言われているページを取得しています.このようにすべてのコミットメッセージで構成されます:

    これは無視されるので、他のテキストを調整します.
    我々はプレスi 挿入モード用にテキストを編集します.

    それでは、再びVimを終了してみましょう:wq . 今回は私たちはそれを行いました.

    これでリポジトリにプッシュする必要があります.プッシュを強制する必要があります.
    git push -f
    
    我々のPRを見て、現在、それはそうです:

    一つのコミットだけが成功する.

    コミットする
    さあ、今度はメンテイナーが喜ぶようです.しかし、彼らはあなたのコミットに名前を変更するfeature: adding install instructions . OKそれから、私たちはそれを行うことができます.そのためには以下のコマンドを使います:
    git commit --amend
    
    これによりコミットメッセージを更新する機会が得られます.

    あなたは、現在ドリルを知っていますi Insertモードを入力し、適切にメッセージを変更します.

    次にESCを挿入して挿入モードを終了します:w . さて、Gitログをチェックしてください.

    OK、私たちのコミットは、少なくともローカルに名前を変更しました.ローカルに変更したので、リポジトリにプッシュしましょう.
    git pull // make sure you do this one first
    git push
    
    この点で、あなたの倉庫はあなたのGitログにマージエントリを作成するでしょう.では、再びクレイジーサーカスを始めましょう.
    git rebase -i master
    // change some commits to squash
    git push -f
    
    最後に、次のようにします.


    概要
    うまくいけば、あなたは今までに合併した最初のPRを得ました.あなたは貢献者ですcongrats、あなただけの全体のコーダのコミュニティを助けた.それは多くの仕事のように感じましたか?さて、そこには、実際の仕事としてこれを持っているOSSのメンタナーがありますし、あなたがする仕事はうまくいけばたくさんのdevsによって使用されているので、あなたは喜んでいくつかのフープが品質を確保するためにジャンプする必要があります.