27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

生まれて初めてGitHubのOSSにプルリクエストを通した話

Last updated at Posted at 2019-03-29

正直n番煎じな内容なのですが,自分用のメモとして残しておきます.

OSSとは

オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称である [https://ja.wikipedia.org/wiki/オープンソースソフトウェア]

GolangやKotlinなどのプログラミング言語をはじめとして,Visual Studio CodeのようなエディタもOSSとして流布されています.また,多くのOSSがGithub上で管理されています.

OSSの開発に貢献するための手順

今回実際に通したPR(プルリクエスト)はこちらになります.株式会社ロックオン様が開発しているECサイトのOSSです.
CSS一行を書き換えただけの簡単な編集しかしていません.

OSSの開発ドキュメントを読む

OSSは不特定多数に人が自由に編集し,ソースコードの追加・修正が行われていきます.
そのため,命名規則やディレクトリ構成などがあらかじめ策定されていることが多いです.編集を始める前にドキュメントを一読しておきましょう

issueを探す

現時点での不具合や追加すべき機能などがGithubのissuesで挙げられ,各エンジニアが議論します.
issueは解決の優先順位や修正の難易度によって異なるラベルがつけられています.
今回は簡単に貢献できそうな「Easy」を選んで探しました.

ソースコードを編集してPRを送る

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

  • フォークするリポジトリにアクセスする
  • 右上のforkボタンを押して自分のアカウントのリモートリポジトリにコピーする
スクリーンショット 2019-03-29 23.19.04のコピー.png

フォークした旨がリポジトリ名の下に表示されます
スクリーンショット 2019-03-29 23.52.08.png

ローカルリポジトリにクローンする

フォークした自分のリモートリポジトリからクローンし,remote urlを設定します.

$ git clone [repository url]
$ git remote add origin [your repository url]

さらに,自身の作業用ブランチを用意します.どのissueを解決したのかわかるブランチ名が好ましいようです.
今回はCSSによる表示を変更するだけですので,修正する旨を示すブランチ名にしました.

$ git checkout -b fix/plugin-version-display

実際に作業し,自分環境でテストする

ソースコードの編集を行いコミット,プッシュしていきます.

PRの作成

フォークしたリポジトリにプッシュするとPRを作成するボタンがGithubに出てくるのでボタンを押してPRを作成します.
PRの作成時にはメッセージを書く欄があるので,ここにどのissueを解決したのか,どんな実装を行なったのかなど今回のPRの概観がわかるような説明を記述します.
今回はPRメッセージの形式も決まっているため,それに沿って記述します

CIとレビュー

今回のプロジェクトではPRに対してScrutinizerやTravis CIによるテストが行われていました.
これらのテストに通らないと,そもそもリクエストが承認されることはありません(品質を保つためです).
PRはレビュワーの方が内容を確認し,問題がなければマージされます.今回は修正になんの問題もなくそのままマージしていただきました.

感想

1ファイル1行修正1コミットだけの簡単なPRでしたが,原因を探す間にプロジェクトに用いられている技術的なことが知れたりと学ぶことがたくさんありました.
実際に自分が行なった修正が本バージョンに反映されるとモチベーションが上がるし,次もコントリビュートしたくなります.もっとPR量産していきます!!!!

27
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?