GitHubをはじめよう
今回は、GutHubへのファイルの送り方についてです。
GitHubとはバージョン管理システムです。バージョン管理システムとは、複数の人がプロジェクト内で相互にコードを共有するのを楽にしてくれます。
リポジトリ
リポジトリは、Gitのようなバージョン管理システムによって作られるデータの構造です。リポジトリにはコードの変更箇所が記録されます。
通常、プロジェクトに参加するメンバー全員がそれぞれのコンピューター上にローカルリポジトリを持ちます。ローカルリポジトリは、プロジェクトにおけるすべての変更差分の記録を持っています。これに対して、中央リポジトリはGitHubのようなウェブサイトで提供され、すべてのローカルリポジトリはこの中央リポジトリと同期しています。
それぞれの人の手元のローカルリポジトリにコードの変更差分を記録して、それを中央リポジトリに同期します。ほかの人が変更した差分は、中央リポジトリからローカルリポジトリに送られて同期されます。
GitHubのサイトで新しく中央リポジトリを作ることが出来ます。中央リポジトリを作ったら、そのリポジトリと関連付けるローカルリポジトリをGitで作りましょう。
はじめに
Step 1
①GitHubのサイトでアカウント作成し、ログイン
②右上の+ボタンをクリック
ドロップダウンメニューから「New repository」を選ぶ
③リポジトリ名に「test」(任意の名前)と入力
「Public」を選択して、「Initialize the repository with a README」のチェックボックスにチェックを入れたら、「Create repository」をクリック
この部分があなたの中央リポジトリです
④「Clone or download」をクリック
リンク先のURLが表示されるので、このリンクをコピーしておく
ここから先はGitのインストールが必要になりますのでインストールして下さい
1 |
$ pip install git |
Gitのインストールが終わったら、gitと入力して実行してみてください
1 2 |
$ git >> usage: git [--version] [--help] [-C path] [-c name=value]... |
この例のように出力されれば、Gitはきちんとインストールされています
⑤中央リポジトリをローカルリポジトリに同期
先ほどコピーしておいたリンクを使って、中央リポジトリをローカルリポジトリに同期します
git clone [リポジトリURL]
1 2 3 4 5 |
$git clone [リポジトリURL] >> Cloning into 'test'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. |
dir または ls コマンドでローカルリポジトリができたかを確認
1 2 |
$ ls >> test |
testというディレクトリができていると思います
このディレクトリがローカルリポジトリです
プッシュとプル
Gitでできることのうち、主な2つを紹介します。1つ目は、ローカルリポジトリの内容を中央リポジトリに同期させる方法です。これをプッシュと言います。
もう1つは中央リポジトリに記録された新しい差分をローカルリポジトリに同期させる方法です。これをプルと言います。
プッシュしよう
先ほどcloneしてきたtestのローカルリポジトリを変更し、変更内容をGitHubの中央リポジトリにプッシュする。
test ディレクトリに何でもいいのでPythonコード(hello.pyを作成)を作ってください。ローカルリポジトリに1つのファイルが置かれた状態です。この段階ではまだ中央リポジトリに同期されていません。
中央リポジトリにプッシュするには3つの手順を行います。
Step 2
①ステージ状態にする
まず同期したファイルをステージ状態にします。ステージ状態にするというのは、最終的に中央リポジトリにプッシュしたい変更がどれなのかをGitに教えることです。
git status コマンドで、現在のローカルリポジトリの状態を表示できます。これを見て、どのファイルをステージ状態にするか選びましょう。ステージ状態にないファイルは赤い文字で表示されます。ファイルをステージ状態にすると、緑の文字で表示されます。現在の作業ディレクトリが test ディレクトリなことを確認して、git status コマンドを実行しよう。
1 |
$ git status |
ファイルをステージ状態にするには、以下を実行。
git add [ファイルパス]
1 |
$ git add hello.py |
もう一度、git status コマンドを実行して、ファイルがステージ状態になったか確認。
ファイルが緑色で表示されているはずです。
ファイルをステージ状態にした後で、ステージ状態を取り消したい場合、以下を実行。
git reset [ファイルパス]
git status で確認すると赤色で表示され、ステージ状態が取り消されたのがわかります。
②コミットする
次は、ステージ状態にしたファイルをコミットします。コミットするというのは、ステージ状態の変更差分をローカルリポジトリに保存することです。
git commit -m [コミットメッセージ]
-m フラグはコミットに説明文を付けます。
1 2 3 |
$ git commit -m "test commit" >> 1 file changed, 1 insertion(+) create mode 100644 hello.py |
③中央リポジトリにプッシュ
コミットした変更を中央リポジトリにプッシュするには、git push origin master コマンドを実行。
1 2 3 4 5 6 7 8 |
$ git push origin master >> Counting objects: 3, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 298 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/haruki96/test.git 5cdaae9..d9f4a0b master -> master |
ユーザー名とパスワードを入力したら、gitプログラムが変更差分をGitHubにプッシュします。GitHubのサイトを開いて確認しましょう。hello.pyが表示されて、コミットメッセージも表示されている。
これで完了です。お疲れ様です。