はじめに
本記事はプログラミング学習中の筆者がGit Hubのリポジトリに
新規追加するまでの過程を6ステップに分けて記載しております。
途中で発生したエラーも含めて記載するので参考になれば幸いです。
前提
- 作業はMacで行いました。
- Git Hubのアカウントは登録済みの状態です。
事前準備
Gitは最初からPCにインストールはされていません。
インストールされていない人はHomebrewを用いてGitをインストールします。
[ターミナル ]
#Gitのインストールのコマンド
% brew install git
# Gitのバージョン情報が表示されれば、Gitは正常にインストールされています。
% git --version
ローカルリポジトリを作成する
リポジトリとは?
リポジトリとは、Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく入れ物です。
管理下に置くことでそのディレクトリ内のファイルやディレクトリの変更履歴を記録することができます。
(例)「日記帳に日々の記録を書く」「家計簿に収入や支出を書く」などイメージすると腹落ちしやすいかも!
また、リポジトリにはローカルとリモートの2種類あります。
ローカルリポジトリ | リモートリポジトリ | |
---|---|---|
場所 | 自分のPC上 (ローカル環境) に置くリポジトリ |
(外部のサーバなど) ネットワーク上 に置くリポジトリ |
概要 | 自分のPC上にある ファイルやディレクトリの バージョン管理の際に使用 |
ネットワーク上に置くことで 複数人で管理下のファイルや ディレクトリを共有できる。 |
※画像: サル先生のGit入門より引用
【作業①】ローカルリポジトリを作成する
まずはGit Hubのリポジトリに追加したいディレクトリを
Gitの管理下に置きローカルリポジトリを新規作成します。
今回は「test_app」を追加するディレクトリとして作業をします。
[ターミナル]
#test_appディレクトリに移動
% cd ~/・・・/test_app
#隠しディレクトリである.gitがあるかどうか確認すると、
#「そのようなディレクトリはない」と指摘を受ける。
〜test_app % ls .git
ls: .git: No such file or directory
#「git init」でディレクトリをGitの管理下に置く
〜test_app % git init
Initialized empty Git repository in /・・・
/・・・/・・・/test_app/.git/
#隠しディレクトリである.gitがあるかどうか確認
〜test_app % ls .git
HEAD config hooks objects refs
【ポイント】
新たにGitで管理したいディレクトリに「git init」を実行すると、
隠しディレクトリである.gitが作成されGitで管理できるようになる!
【作業②】 git add -Aでインデックスにファイルを追加する
インデックスとはバージョンを記録するためにファイルを一時的に登録する場所のことで、
これからコミットするファイルの集合しているということです。
そのため、同じバージョンとして記録したい編集についてはまとめてインデックスに追加し、
記録したくない編集についてはインデックスに追加しないこともできます。
[ターミナル]
#現状を確認する
〜test_app % git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
(※インデックスされるファイルまたはディレクトリが記載される)
.editorconfig
.env.example
.gitattributes
.gitignore
.styleci.yml
app/
artisan
〜以下省略〜
# git add -A-(all)で全ての変更を追加する
〜test_app % git add -A
〜test_app % git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .editorconfig
new file: .env.example
new file: .gitattributes
new file: .gitignore
new file: .styleci.yml
new file: app/Console/Kernel.php
new file: app/Exceptions/Handler.php
new file: app/Http/Controllers/Auth/ForgotPasswordController.php
〜以下省略〜
【作業③】 git commit -m でコミットを反映させる
- コミット:インデックスに追加された変更修正をバージョン記録する操作のこと。
- 何月何日何時に何を変更したかを記録することができます。
- -mをつけると変更内容を記録することができる。
[ターミナル]
test_app % git commit -m "Initialize repository"
[master (root-commit) c7952ce] Initialize repository
87 files changed, 8629 insertions(+)
create mode 100644 .editorconfig
create mode 100644 .env.example
create mode 100644 .gitattributes
create mode 100644 .gitignore
create mode 100644 .styleci.yml
create mode 100644 app/Console/Kernel.php
create mode 100644 app/Exceptions/Handler.php
〜以下省略〜
test_app % git status
On branch master
nothing to commit, working tree clean
commit完了後にgit status
を行うとnothing to commit
と「コミットの対象となっている変更修正は無いよ」というメッセージを出してくれます。
【作業④】リモートリポジトリを作成する
先ほど作成したローカルリポジトリを結びつけるリモートリポジトリを作成します。
(1)まず画面右上のプルダウンでメニューからNew repositoryを選択して新規リポジトリ作成画面へ移動します。
(2)新規作成画面に遷移したら下記項目を記入&選択しリポジトリを作成する。
・Repository nameにリポジトリ名を記入
・Publicを選択(公開する事を前提)
・Create responsitory をクリック
【作業⑤】 ローカルリポジトリにリモートリポジトリを紐付けする。
(1)リモートリポジトリの作成が完了したらURLをコピーします。
(2)ターミナルでコピーしたURLを貼り付けローカルリポジトリとリモートリポジトリを紐付けます。
ターミナルでgit remote add origin 先程コピーしたURL
を入力する。
その後にgit remote
と入力しorigin
と表示されれば紐づけ作業は完了です。
[ターミナル]
test_app % git remote add origin https://github.com/自分のユーザーネーム/test_app.git
test_app % git remote
origin
※私はここでエラーを起こし詰まりました😭
結論から言うとgit remote add origin 先程コピーしたURL
のorginのあとのスペースを全角スペースにしたのがエラーの原因でした。
ちなみに全角スペースしてコマンドを実行すると下記エラーが表示されました。
皆さんスペースは必ず半角スペースで行いましょう!
% git remote add origin https://github.com/自分のユーザーネーム/test_app.git
usage: git remote add [<options>] <name> <url>
-f, --fetch fetch the remote branches
--tags import all tags and associated objects when fetching
or do not fetch any tag at all (--no-tags)
-t, --track <branch> branch(es) to track
-m, --master <branch>
master branch
--mirror[=(push|fetch)]
set up remote as a mirror to push to or fetch from
【作業⑥】 ローカルリポジトリでの作業をリモートリポジトリに反映させる
いよいよ最後の作業です。
以下のコマンドをターミナルで実行します。
[ターミナル]
#リモートリポジトリ(origin)に情報を反映させる。
test_app % git push origin master
もし、pushした際にユーザー名とパスワードの入力を求められた際は下記内容でコマンドを実行して下さい。
[ターミナル]
#ユーザー名を求められる時
Username for 'https://github.com' : GitHubのユーザーネームのみ入力する
[ターミナル]
#パスワードを求められる時
Password for 'https://github.com' : GitHubのパスワードのみを入力する
全ての作業を終えgithubのページを再読み込みすると登録内容が反映されているのが確認することができます。
別途、今回使用したGitの用語をまとめてみました。
作成時に参考になれば幸いです!
Git用語まとめ
用語 | 内容 |
---|---|
git init | ・Gitのリポジトリを新規作成する。 「.git」と名付けられたサブディレクトリが作成される。 |
git status | インデックスに追加されている変更修正、 されていない変更修正を確認することができる。 |
git add | インデックスに追加して、 変更修正記録の対象とすることができる |
git commit | インデックスに追加されている変更修正を、 コミットするためのコマンド。、 オプションの-コミットメッセージ(-m)を付ければ、 変更内容をメモとして残すことができる。 |
git remote add | ローカルリポジトリにリモートリポジトリの情報を 付与して紐づけを行うためのコマンド。 |
origin | リモートリポジトリの場所の別名。 GitHubのリモートリポジトリに対しては originとすることが一般的。 |
git push | ローカルリポジトリでのコミットを リモートリポジトリ(origin)に反映させる。 |