github入門
gitHub入門
GitHub上のレポジトリをローカルにcloneし、ローカルレポジトリを製作します。
お品書き
事前準備
メールアドレスが必要です。
作業ディレクトリを作成する必要があります。
$ mkdir workdir
まずはともかくGitHubの登録
- ブラウザより
https://github.com
を開く
- 早速登録
Username → 表示名です。 あだ名ぐらいで大丈夫です。
Email → ログインする為のメールアドレスです。
Password → ログインする為のパスワードです。
Sign up for GitHub
ボタンをクリックします。
- Choose your personal plan 料金プランを設定します。
無料プランを使用するので、
Unlimited public repositories for free.
を選択します。
Continue
ボタンをクリックします。
- アンケートに答えます。
How would you describe your level of programming experience?
プログラミング経験は?
Very experienced → ベテラン経験者です。
Somewhat experienced → ややプログラミングを経験しています。
Totally new to programming → プログラミング初心者です。
What do you plan to use GitHub for? (check all that apply)
GitHubをどのように使う予定ですか?
Project Management → プロジェクトマネージメント
Design → デザイン
Research → 研究
Development → 開発
School projects → 学生
Other (please specify) → その他
Which is closest to how you would describe yourself?
貴方はどのような人物ですか?
I'm a hobbyist → 愛好家です。
I'm a student → 学生です。
I'm a professional → プロフェッショナルです。
Other (please specify) → その他
What are you interested in?
貴方は何に興味がありますか?
Submit
ボタンをクリックします。
- メールが送信されているので確認
Verify email address
をクリックします。
リモートレポジトリを作ります
New repository
ボタンをクリックします。Repository name
にプロジェクト名を入力します。Public
ボタンにチェックがあることを確認します。Initialize this repository with a README
リモートプロジェクトの説明を記載する README.md を作るために、
チェックを入れます。
Create repository
ボタンをクリックします。
ローカルレポジトリとリモートレポジトリを連携する為の情報の取得
Clone or download
ボタンをクリックします。
Clone with HTTPS
https://github.com/ユーザー名/レポジトリ名.git をコピーする
cloneでリモートレポジトリの情報をローカルに取得する
- ターミナルで作業ディレクトリに移動します。
$ cd workdir
git clone の引数は、先ほど取得したClone with HTTPSのURLを貼り付けます。
$ git clone https://github.com/ユーザー名/レポジトリ名.git
Cloning into 'レポジトリ名'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done.
- Finderでリモートレポジトリのクローンを確認します。
レポジトリ名/README.md があり、README.mdを確認するとGitHubのREADME.mdと同じことがわかります。
できたレポジトリ名のディレクトリにファイルをおく
GitHubにアップロードしたいファイルを起きます。
ユーザ名登録
GitHubのUser情報を登録します。
$ git config --global user.name "ユーザ名"
$ git config --global user.email ユーザーEメールアドレス
ローカルレポジトリの内容をインデックスに追加
ターミナル作業です。
できたリモートレポジトリ名のディレクトリに移動します。
$ git add .
又は
$ git add ファイル名(ディレクトリ名)
インデックスの状態を確認します
$ git status
On branch master Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD
new file: index.html
コミットする
$ git commit -m "first commit"
[master 1ede58e] first commit 1 file changed, 37 insertions(+) create mode 100644 index.html
ローカルレポジトリの変更内容をリモートレポジトリに反映する
$ git push
- githubの入力パスワードの入力が求められる
Password for 'https://ユーザー名@github.com':
Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 271 bytes | 271.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/ユーザー名/レポジトリ名.git e61bcdb..a9496a9 master -> master
githubへgit pushしようとすると403エラーとなる
一つのmacで二つのユーザーでリモートレポジトリにpush使用とすると起きました
$ git push
remote: Permission to ユーザー名/レポジトリ名.git denied to ユーザー名. fatal: unable to access 'https://github.com/ユーザー名/レポジトリ名.git/': The requested URL returned error: 403
解決方法
$ git clone https://ユーザー名B@github.com/ユーザー名B/レポジトリ名
githubがログイン情報(ユーザー名・パスワード)を記憶しているのだと思います。この場合、URLにユーザー名を記載することで、別の資格情報を記憶させることができます。
ユーザー名Bは、pushしたい先のユーザーを記載します。