【git入門】Githubの使い方(Windows編)

git bashコマンドで、Githubを使う方法についてまとめました。

## 【config設定】ユーザー名、メールアドレス

①[git-bash.exe]をダブルクリックし、「Git Bash」を起動します。

②下記のコマンドを実行します。

$ git config --global user.name "nishizumi"
$ git config --global user.email nishizumi@example.com

※上記はユーザー名「nishizumi」、メールアドレス「nishizumi@example.com」で設定した例

③これで設定完了です。
設定内容は以下のコマンドで確認できます。
※Enterを押していくと確認できます

$ git config --list
,
.
.
user.name=nishizumi
user.email=nishizumi@example.com
詳細記事
1 【Git】ユーザー名とメールアドレスの設定(Windows編)

## 【SSH】秘密鍵、公開鍵の作成

①Git Bashを起動します。

②下記のコマンドを実行します。

$ ssh-keygen -t rsa -b 4096 -C "nishizimi@example.com"

※「nishizimi@example.com」は設定したメールアドレス

オプション ssh-keygenコマンドの説明
-t 鍵のタイプ
-b 鍵の長さ(GitHubの推奨は4,096ビット。長いほど安全性が高い)
C コメント(何の鍵かなどを残せる)

③作成される鍵の「ファイル名」を指定します。

Enter file in which to save the key (/c/Users/hogehoge/.ssh/.ssh/id_rsa):id_rsa_github_nishi

※上記はファイル名を「id_rsa_github_nishi」とする場合
※何も指定しないとデフォルトのファイル名「id_rsa」で出力されます。

④パスワードを入力して設定します。
※SSH接続時などに利用

Enter passphrase (empty for no passphrase): <任意のパスフレーズ>
Enter same passphrase again: <パスフレーズ>

⑤これで、秘密鍵(id_rsa_github_nishi)と公開鍵(id_rsa_github_nishi.pub)がペアで作成されます。

作成場所 git-bash.exeと同じディレクトリ
秘密鍵 大切に内部で保管します。(外部には非公開)
公開鍵 SSH接続したいサービスに登録(GitHubなど)

⑥「git\etc\ssh\ssh_config」ファイルをエディタで開いて下記の内容を追記します。

Host github_nishi
  HostName github.com
  User git
  IdentityFile id_rsa_github_nishi

※id_rsa_github_nishizumiは秘密鍵のファイルパスです。

⑦この設定を行うことで、GithubとSSH接続する場合に「ssh github_nishi」と入力するだけで済みます
※「ホスト名」「ユーザー名」「秘密鍵」の入力作業を省略可能。

参考
【git bash】windows10ではchmodでパーミッション変更できない
【Git】SSH鍵の公開鍵・秘密鍵を作成(Windows編)

## 【Github】リポジトリの作成

①下記URLからGithubにログインします。
https://github.com/

②[Repository]をクリックします。

③[New]をクリックします。

④「Repository name」欄に作成したいリポジトリ名を入力します。

⑤「Initialize this repository with a README」にチェックを入れて「Create repository」をクリックします。
これでリポジトリは完成です。

参考
【Github】リポジトリの作成

## 【GitHub】公開鍵の登録(Windows編)

①作成した公開鍵ファイル(id_rsa_github_nishizumi.pub)を適当なエディタで開きます。

②公開鍵ファイルの中身をコピーします。
※改行や余分な文字列が入らないように注意

③GitHubのページの右上にあるアイコンをクリックし、アカウントメニューの中にある「Settings」を開きます。

④左側のメニューから「SSH and GPG keys」タブをクリックします。

⑤「New SSH key」をクリックします。

⑥「Title」には任意のタイトルを入れます。
※どの「PC」「サーバー」にある秘密鍵のペアである公開鍵かわかるようなタイトルを付けると便利

⑦「Key」にコピーした公開鍵ファイルの中身を貼り付けて、「Add SSH key」をクリックします。

⑧これで公開鍵の登録が完了です。
先程の登録作業が成功しているか検証するため、GitHubへSSH接続してみます。
次のコマンドを実行します。

$ ssh github_nishizumi

パスワードを求められたら、鍵の生成時に設定したパスフレーズを入力します。
以下のようなメッセージが表示されたら成功です。

Hi <Githubのアカウント名>! You've successfully authenticated, but GitHub does not provide                              shell access.
Connection to github.com closed.
参考
【Git】GitHubで公開鍵の登録(Windows編)

## 【clone】Githubリポジトリをローカルにクローン

①Gitの作業ディレクトリを作成します。

$ mkdir git
$ cd git

②GitHubリポジトリのページ右にある「Clone or download」→「Use SSH」をクリックします。

③以下の文字列をコピーします。

git@github.com:<ユーザー名>/<Githubリポジトリ名>.git

④Git Bashで先程コピーした文字列を使って以下のコマンドを実行します。

$ git clone git@github.com:<ユーザー名>/<Githubリポジトリ名>.git

⑤以下のような表示が出てきて、Githubリポジトリと同じデータがローカルの作業ディレクトリ内にコピーされていれば成功です。

Cloning into '<リポジトリ名>'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
参考
【git】Githubリポジトリをローカルにクローン(コピー)

## 【push】Githubリポジトリにアップロード

① 認証エージェント(ssh-agent) に、秘密鍵を追加します。

eval `ssh-agent`
ssh-add [秘密鍵ファイルのパス]
詳細
1 【git】エラー「Permission denied (publickey)」の対処方法

② ターミナルでアップロードしたいファイルの場所へ移動します。
※ ドラッグ&ドロップ可能

$ cd [アップロードするファイルのパス]

③ ファイル内をgitで管理可能にします。

$ git init

③ アップロードしたいファイルを追加します。

$ git add 「アップロードしたいファイルのパス」

④ 変更の記録(コメント)をつけてcommitします。

$ git commit -m [任意のコメント]

⑤ アップロード先を指定します。

$ git remote add origin [アップロード先]

⑥ pushしてアップロードします。

$ git push -u origin master

⑦ 「Everything up-to-date」と表示されても、githubのcommitを確認すると、変更されていないことがあります。
その場合は、以下のコマンドを実行します。

$ git push ssh://git@github.com/◯◯◯.git master:master
関連記事
1 【git】Githubリポジトリにファイルをアップロード
関連記事
1 【Git/Github入門】基本的な使い方・コマンド集

コメント