Git 管理する、もしくは GitHub 上にコードをあげる上で特別な意味を持つファイルがいくつか存在します。
その中でもここでは、リポジトリを作る際に説明を省略した 3 つのファイルについて紹介していこうと思います。
この画像の 6 番のところに当たります。
README とはプロジェクトについての説明書みたいなものです。
その名の通り、「私を読め」ということです。
マークダウン形式で書いていきます。
README.md
ファイルを追加すると、以下の画像のように GitHub のリポジトリのトップに表示されます。
GitHub のページを訪れた人は、必ずと言っていいほど目にするファイルとなります。
これが重要な役割を担っていて、プロジェクトを公開した際にリポジトリを見て使ってくれるかどうかの第一歩は README にかかっているといっても過言ではありません。
また、チーム開発などではプロダクトのセットアップ方法などを書いておくとスムーズに新しい開発者を入れることができます。
README に記載される内容は以下のようなものがあります。
- プロジェクトの概要や機能
- 言語やフレームワーク、ライブラリ、OS などの使用環境
- プロジェクトの使い方
- インストール方法
- アップデート履歴
もちろんこれだけではなく色々なものが記載されます。
README はローカルでもリモートでも編集できます。
リモートの編集では、画像をドラッグ&ドロップでアップロードできるので、画像を追加したい場合などはリモートでの編集をするといいと思います。
リポジトリを作る際に「Add a README file」を選択している場合には、リポジトリの名前と説明に入力した内容が書かれた状態で README.md
ファイルが作成されます
README 作成を始めに飛ばした人は GitHub のリポジトリのページへ行き「Add a README」から中身を書いて「Commit new file」で作成、もしくはローカルで RAEDME.md というファイルを作り、add, commit, push すれば完了です。
.gitignore とは Git リポジトリにおいて、意図的に追跡対象から外したい(無視したい)ファイルを設定するためのファイルです。
例えばビルドファイルやドキュメント、ログ出力のファイル、環境変数のファイル(シークレットキーなどを記載)などといった、Git 管理する必要がなかったり、人に見せたくないようなファイルが対象となります。
.gitigore
ファイルの主な書き方
# 特定のファイル名全てを無視
[ファイル名]
# ある特定のファイルを無視
/[ファイルのパス]
# 特定の拡張子を無視
*.[拡張子]
# 特定のディレクトリ配下を無視
[ディレクトリ]/
# 特定のファイルを無視しない
![ファイルのパス]
また、一度add
してしまったファイルは.gitignore
に記載されていても Git 管理対象になってしまいます。
その場合には、以下のコマンドで追跡対象から削除します。
$ git rm --cached [ファイル名]
GitHub 上から.gitignore
ファイルを作成しようとすると、以下の画像のようにテンプレートを使用することができます。
これはリポジトリ作成の際にも選ぶことができます。
基本的には調べると出てくるものですので、リモートとローカルどちらから追加しても問題はありません。
GitHub でソースコードを公開すると、ライセンスがない場合には GitHub の使用規約 の 「他のユーザーへの許可」の条項が適応され、ソフトウェアの複製、改変、(複製物または二次的著作物の)再頒布が認められない状態となります。
これで特に問題ない場合には、ライセンスは追加する必要はありません。
By setting your repositories to be viewed publicly, you agree to allow others to view and "fork" your repositories (this means that others may make their own copies of Content from your repositories in repositories they control).
If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking). You may grant further rights if you adopt a license.
ですので、自分の書いたコードを誰かに使って欲しい、改良して欲しいなどの場合にはライセンスを追加する必要があります。
いわゆるオープンソースソフトウェア(OSS)の状態にするということです。
GitHub にはライセンスを設定する機能がついています。
ライセンスを追加するには、LICENSE
もしくはLICENSE.md
というファイルを追加し、
その中に英語の原文を書く必要があります。
ライセンスには種類があり、.gitignore
作成時と同様にテンプレートから選ぶことができますので、
原文なんて知らないという方でも安心して追加することが可能です。
作り方
LICENSE
もしくはLICENSE.md
というファイル名を入力すると出てくるテンプレート選択ボタンを押す- テンプレートから自分が追加したいライセンスを選択
- ファイルをコミットする
1
2
3
代表的なオープンソースライセンスとざっくりとした説明を挙げていきます。
- ソフトウェアを自由に扱えること
- 再頒布時に著作権とライセンスの表示が必要であること
- 著作権者はいかなる責任も負わないこと
- 開発者・配布者がいかなる保証も提供しないこと
- 損害が生じても責任を負わないこと
- 再頒布時に著作権表示とライセンス表示を含めること
- 派生物の宣伝に開発者や配布者の名前を無断で使ってはならないこと
- ソフトウェアを自由に扱って良いこと
- 再頒布時に著作権表示とライセンス表示を含めること
- オリジナルから修正点がある場合には明示すること
- 作者や著作権者はいかなる責任も負わないこと
- 作成者や著作権者は、製品に対しての義務や責任を何ら負わないこと
- 著作権の表示を保持すること
- 改変、再頒布の前提としてソースコードへのアクセスができること
- 製品を改変した場合は、その変更点を示すこと
- 製品を改変した場合も GPL で配布すること
今回のファイルのうち、.gitignore
ファイルは特に重要なので覚えておいてください。