1
0

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 3 years have passed since last update.

エラーに詰まりながらGit Hubに新規リポジトリを追加するまでの道のり

Last updated at Posted at 2020-06-13

はじめに

本記事はプログラミング学習中の筆者がGit Hubのリポジトリに
新規追加するまでの過程を6ステップに分けて記載しております。
途中で発生したエラーも含めて記載するので参考になれば幸いです。

前提

  • 作業はMacで行いました。
  • Git Hubのアカウントは登録済みの状態です。

事前準備

Gitは最初からPCにインストールはされていません。
インストールされていない人はHomebrewを用いてGitをインストールします。

[ターミナル ]
#Gitのインストールのコマンド
% brew install git
# Gitのバージョン情報が表示されれば、Gitは正常にインストールされています。
% git --version  

ローカルリポジトリを作成する

リポジトリとは?

リポジトリとは、Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく入れ物です。
管理下に置くことでそのディレクトリ内のファイルやディレクトリの変更履歴を記録することができます。
(例)「日記帳に日々の記録を書く」「家計簿に収入や支出を書く」などイメージすると腹落ちしやすいかも!
また、リポジトリにはローカルとリモートの2種類あります。

ローカルリポジトリ リモートリポジトリ
場所 自分のPC上
(ローカル環境)
に置くリポジトリ
(外部のサーバなど)
ネットワーク上
に置くリポジトリ
概要 自分のPC上にある
ファイルやディレクトリの
バージョン管理の際に使用
ネットワーク上に置くことで
複数人で管理下のファイルや
ディレクトリを共有できる。

Image from Gyazo
※画像: サル先生の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を選択して新規リポジトリ作成画面へ移動します。
Image from Gyazo
(2)新規作成画面に遷移したら下記項目を記入&選択しリポジトリを作成する。
・Repository nameにリポジトリ名を記入
・Publicを選択(公開する事を前提)
・Create responsitory をクリック

3116b935db22be5e75a4bf2b95934bdcのコピー.png

【作業⑤】 ローカルリポジトリにリモートリポジトリを紐付けする。

(1)リモートリポジトリの作成が完了したらURLをコピーします。
fb989ac71c7e66c9edd141aced635b70.png
(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)に反映させる。

参考サイト

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?