本記事の内容
本記事は「GitHubの基礎的な知識は程よく得られたが、実際どうやって使うんだ?」という方向けである。具体的には「リポジトリを作成し、コミットとプッシュを行うまでの流れ」を解説する。
言ってしまえば、自分のパソコン内にあるディレクトリとGitHubを繋げるまで、ということである。
「説明はいいから結果何すればいいのだ」という方もいらっしゃるだろう。そういう方はちゃちゃっと解決したいを参照のこと。
序
「さて、リポジトリやらコミットやらは多少わかってきたが、具体的にどう使うのだ」という事になっていると思われる。そこで今回は「テストです。」と書かれたテキストファイル(test.txt)をmasterブランチ(そのリポジトリの管理者のブランチ)でpushするまでを解説する。
結論
結論はシンプル。以下の流れで作業を行えば良い。
- GitHubでの操作(ウェブページ)
- リポジトリの作成
- 自分のパソコンでの操作
- ディレクトリ及びファイルの作成、編集
- ファイルの編集情報をGitHubのインデックスに追加(
add) - 変更結果をローカルリポジトリにコミットする(
commit) - ローカルリポジトリに反映(
push)
やること
上記の5ステップを行えば良い。
GitHubでの操作(ウェブページ)
GitHubでリポジトリの作成
GitHubにログインした状態でCreate a New Repositoryにアクセスする。
または、GitHubにログインした状態で右上のアイコンをクリックし、「Your profile」をクリック。 上段に「Overview」、「Repositories」、「Projects」、「Packages」とあるはずなので、そこの「Repositories」をクリック。 すると右上に緑色で「New」というアイコンがあるのでそれをクリック。すると、上記のURLと同じ場所へ飛ぶ。
レポジトリの名前などを決める
「Repository name」を入力し、必要ならばDescription(レポジトリの説明文)を入力する。
公開するか否かを指定する
公開するならば「Public」を、しないならば「Private」を選ぶ。デフォルトではPublicが選択されている。
README.mdファイルを追加するか否かを指定する。
リポジトリの中に予めREADME.mdファイル(まず最初に読んでねという説明文のようなもの。Descriptionに書ききれなかったことなどを書くとよい。) を作成しておく場合は「Initialize this repository with a README」にチェックする。
.gitignoreを追加するか否かを指定する。(あとで追加できるため、「None」を選択してよい。)
追加する場合は「Add .gitignore」にチェックを入れる。そもそもGitHubは.gitというファイルをディレクトリ内に作成することで、 ファイルやディレクトリを管理することができる。つまり、どこに.gitファイルが存在するかによってGitHubで管理するファイルが決定することになる。 この.gitignoreファイルが存在するディレクトリはその名の通りGitHubで管理しない、という意味を持つ。 例えば、個人的なメモなどがあるディレクトリにこの.gitignoreを入れておけば良いのである。 もちろん、単に.gitignoreを作っておけば良いというわけではなく、その中にある程度情報を記述する必要があるのだが、 ここでは触れず、参考文献に任せる。
ライセンスを追加するか否かを指定する
ライセンスを追加する場合は「Choose a license」を選択。これは基本的にはあまり重要ではないが、選択すると「License: None▼」と出てくる。 これをクリックすると色々なライセンスが出てくるため、希望するライセンスを選択する。 ライセンスは、記載した一定の条件の下でソフトウェアの仕様、複製、改変の再配布を認める、ということであるが、 個人でリポジトリを作る場合や特にリポジトリを公開しない場合はほぼ意味を持たない。企業などが用いるのだろう。 個々のライセンスに対する説明は省く。更に知りたい方は適宜調べてみてほしい。
「Create repository」をクリック
おしまい
この作業はWindowsであればPowerShell、Macであればターミナル、Ubuntuであれば端末で行う操作である。
実はローカルリポジトリの作成(すなわち自分のパソコンでgitのファイルを管理する)方法は3つほどある。ここでは一番簡単で、かつ速い方法を述べる。
前節の「GitHubでの操作(ウェブページ)」を行うと、次のように出てくるはずである。
- Quick setup if you’ve …
- …or create a new repository …
- …or push an existing repository from the command line
- …or import code from …
この内どれかをやれば良いのだが、比較的簡単なやり方を以下で紹介する。今回は最上段のものを解説する。 後で使うので、Quick setup …の後のURLはクリップボードにコピーしておくなり、メモしておくなりしておいてください。
自分のパソコンでの操作
作業ディレクトリの作成する
作業ディレクトリを起きたい場所へ行き、mkdir ファイル名を実行。本当に作成できたか怪しいな、と思った場合はその場でlsコマンドを実行してみると良い。
作業ディレクトリでGitHubを使う、と宣言する
その場でgit initを実行。
これを実行することによって、現在いるディレクトリ内に.gitファイルが作成される。 前述の通り、この.gitファイルが存在することによってGitHubでファイルが管理できるようになる。 一言で述べれば「このディレクトリをGitHubで管理する」という宣言のようなものがgit initである。
作業ディレクトリにテキストファイルを作成し、編集する
どのようなやり方でもいいので、「テストです。」と書かれたテキストファイルを作成する。 筆者はemacsを使っているので、emacs test.txtを実行し、「テストです。」と書いた後、保存し、emacsを終了する。
通常、GitHubを用いてリポジトリを作成する場合、この段階でファイルを作成、編集する。今回は「テストです。」と書かれたテキストファイルを作成しそれをプッシュすることを例としているため、この様になっている。
作成したテキストファイル(test.txt)をインデックスへ追加する
git add test.txtを実行。文法としてはgit add ファイル名である。
変更結果をローカルリポジトリにコミットする
git commit -m "テスト"を実行。-mをつけることによって「どのような変更をしたか」ということを記述することができる。
ローカルリポジトリとリモートリポジトリを繋げる
2-1.において作業ディレクトリをGitHubで管理する、という宣言はしたのだが、これはあくまで宣言を下だけであって、実際にどのリポジトリ同士を繋げるのか、言い換えればどのリポジトリの作業を自分のパソコンで行ったのか、を明示しなければならない。そこで、「クリップボードにこぴーしておいてね」と言ったURLを用いて次を実行する。git remote add origin https://github.com//リポジトリ名.gitadd originはリモートリポジトリの名前をoriginという簡単な名前で設定するということ。競合は発生せず変更もできるが、基本的にそのままである。
プッシュ
最後にpushする。ローカルレポジトリでの変更をリモートレポジトリに反映させるという意味がある。実は、ブランチを指定してpushすることもできる。
- masterでpushするとき(今回はこっち)
git push origin master - 特定のブランチでpushするとき
git push origin ブランチ名
ブランチの作成の仕方はgit branch XXXXでXXXXという名前のブランチができる。 その後、git checkout XXXXとすることでそのブランチに入ることができる。 しかし、作業する前にブランチを作り、そのブランチに入る必要がある。さもなくばmasterでpushすることになる。
おしまい
ちゃちゃっと解決したい
「説明は良いから、結局何すればいいの?」という方はここを見ていただければと思う。上記をすべて読んで頂いた方はまとめとして読んでいただければと思う。
GitHubでの作業
- GitHubにログインした状態でCreate a New Repositoryにアクセス
- 「Repository name」を入力し、必要ならばDescriptionを入力
- 「Public」か「Private」 を選択
README.mdを追加するか否かを指定.gitignoreを追加するか否かを指定(後で追加できるためNoneを選択して良い)- ライセンスを追加するか否かを指定。追加する場合はここで追加。殆どの場合しない。
- 「Create repository」をクリック
パソコンでの作業
mkdir ディレクトリ名を実行git initを実行- ファイルを作成、編集
git add 作成及び編集したファイル名を実行git commit -m "メッセージ"を実行。メッセージは何でも良いgit remote add origin http...(リポジトリのURL)を実行git push origin master又はgit push origin ブランチ名を実行
結
今回はGitHubの基本的な使い方について述べた。結果としてGitHubのウェブページでリポジトリを作成し、ローカル(自分のパソコン)のディレクトリを同期させる、というただ単にそれだけの内容である。
例のようにすれば新しいリポジトリが作れる。既存のレポジトリ無いのディレクトリやファイルを変更した後は、
git add ファイル名 → git commit -m "メッセージ" → git push origin ブランチ名
を実行すれば良い。新たにリポジトリを作る以外であれば上記のことを覚えていればそれで良い。また、「今どういう状況だっけ?」となったらばgit statusを実行すると良い。