『2020年版』Git for Windowsをインストール、GitHubに接続するまで
はじめに
Git for WindowsとはWindows向けのGitクライアントソフトウェアです。 今回はGit for windowsのインストールから、GitHubに接続しプッシュするまでの流れを解説していきます。
Git for Windowsの使い方
Git for Windowsのダウンロード
まずはGit for Windowsをダウンロードします。下記URLにアクセスしましょう。
https://gitforwindows.org/「Downloads」を押下するとインストーラがダウンロードできます。ダウンロード時(2020年7月17日時点)では「Git-2.27.0-64-bit.exe」でした。
Git for Windowsをインストール
ダウンロードした「Git-2.27.0-64-bit.exe」を実行します。
ライセンスに同意する場合は「Next」を押下します。
インストールフォルダの設定ができますが、変更しなくても問題ありません。デフォルトのまま「Next」を押下します。
インストールするコンポーネントを選択します。
スタートボタンメニューにGitを追加することができます。変更せずに「Next」を押下しましょう。
Git Bashで開くエディタを設定します。デフォルトでは「Use Vim」が設定されていますが、今回は「Sublime Text」を選択します。
環境変数を設定してコマンドラインからGitを使用するかどうか選択できます。デフォルトでは「Use Git from the Windows Command Prompt」に設定されています。今回は「Use Git from Git Bash only」を選択します。 「Use Git from Git Bash only」は環境変数PATHを修正せず、GitBashでのみGitコマンドが使える設定です。
接続方式を選択します。Githubに接続するので「Use the OpenSSL library」を選択し「Next」を押下します。
テキストファイルの改行のスタイルを設定します。今回は「Checkout Windows-style,commit Unix-style line endings」を選択しています。
Windows環境のみなら「Checkout as-is, commit as-is」、Windows環境+UNIX環境であれば「Checkout Windows-style,commit Unix-style line endings」を選択するのが良いでしょう。 迷ったら「Checkout as-is, commit as-is:」に設定しましょう。
※「Checkout Windows-style,commit Unix-style line endings」に設定するとチェック時・コミット時に改行コードを変換しますが、 この設定が元でエラーが発生する場合もあります。後述のこちらで対処法を挙げております。
Git Bashで使用するターミナルエミュレータの設定をします。デフォルトの「USe MinTTY」で問題ないので「Next」を押下します。
git pullの動作を設定します。デフォルトのままで「Next」を押下します。
拡張オプションの設定ができます。デフォルトの「Enable file system caching」、「Enable Git Credential Manager」のまま「Next」を押下します。
インストールが始まります。
インストールが完了しました。「Next」を押下して終了します。「Launch Git Bash」にチェックを入れるとGit Bashが開きます。
環境設定
Git Bashを起動した際のホームディレクトリはデフォルトで「/c/Users/[ログインユーザ]」となっています。作業しやすいように今回はホームディレクトリを変更していきます。
[Windoiws]+[R]でファイル名を指定して実行ダイアログを開き、「sysdm.cpl」を入力、「OK」を押下します。
システムのプロパティ画面が開きました。「詳細設定」タブを選択します。
「環境変数」を押下します。
「新規」を押下しユーザー環境変数を追加します。
新しいユーザ変数入力ダイアログが開くので変数名「HOME」、変数値「C¥home」を入力し「OK」を押下します。
入力した変数が設定されていることを確認し、「OK」で画面を閉じます。
Git Bashを開きコマンド「pwd」を入力して「/c/home」が表示されたらOKです。
$ pwd /c/home"
公開鍵・秘密鍵の作成
コマンドの存在確認
下記コマンドを実行し、パス(/usr/bin/ssh-keygen)が表示されればOKです。
$ which ssh-keygen(←Enterで実行) /usr/bin/ssh-keygen
sshファイル作成
下記コマンドを実行します。
$ mkdir C:\home\.ssh
公開鍵の作成
Githubへ接続するために公開鍵を作成していきます。Git Bashを起動し下記のコマンドを実行します。(sample@mail.comは自分のメールアドレスに置き換えてください。)
$ ssh-keygen -t rsa -b 4096 -C "sample@mail.com" # -t 暗号化方式の指定 # -b 暗号化強度の指定 # -C コメント設定
実行すると
Generating public/private rsa key pair. Enter file in which to save the key (/c/home/.ssh/id_rsa):
ディレクトリとファイル名を確認し、問題なければEnterを押下します。
Enter passphrase (empty for no passphrase):
パスフレーズを設定します。今回は「test」に設定しました。※設定しなくてもEnterで進むことはできますが、設定することをお勧めします。
Enter same passphrase again:
再度入力を求められるので先ほど入力したパスフレーズを入力し、Enterで進みます。
Your identification has been saved in id_rsa. Your public key has been saved in id_rsa.pub. The key fingerprint is: SHA256:OkXBv1422Tr5Cclfqjl9CnhHJz82eZTxewP76VnOWB4 [sample@mail.com] The key's randomart image is: +---[RSA 4096]----+ | .. | | .. | | .. . | | . . +| | S . +o.+| | o .o=o+=o| | o ..o**.EB| | . ..=*+X%| | o=OB+| +----[SHA256]-----+
これで公開鍵・秘密鍵が作成されました。
Githubに公開鍵を登録する
Githubに登録する
Github(https://github.com/)にアクセスします。既にアカウントをお持ちの場合はこの手順は飛ばしてください。
Username、Email、Passwordをそれぞれ入力し「Sign up for Github」をクリックします。
パズル認証画面が表示されます。認証が終わったら「Join a free plan」をクリックします。
この画面はアンケートのようなものなので特に答えなくても問題ありません。「Complete setup」をクリックしましょう。
これでアカウント登録が完了しました。登録したメールアドレスの認証が必要なので、Githubからの認証メールが来たらメール内の「Verify email address」をクリックしましょう。
認証メール内の「Verify email address」をクリックし、ログインすると「You email was verified」と表示されます。
公開鍵を登録する
作成した公開鍵を登録します。画面右上のアイコンを選択し、メニューから「Setting」を選択します。
「Public profile」画面が表示されます。「Personal settings」から「SSH and GPG keys」を選択します。
「New SSH Key」ボタンを押下します。
「Title」「Key」を入力し「Add SSH Key」ボタンを押下します。「Key」には公開鍵(c:\home.ssh\id_rsa.pub)の中身を貼り付けます。
登録が完了しました。「SSH keys」に登録した公開鍵が表示されているのが確認できます。
リポジトリ作成
新規リポジトリを作成します。右上のアイコンをクリックし、「New Repository」を選択します。
リポジトリの作成画面に遷移します。
今回は「Repository name」を「test」にし、「Initialize〜」にチェックを入れます。すべて入力したら「Create repository」をクリックします。
「test」リポジトリが作成できました。「Code」ボタンを押下します。
「Use SSH」を選択します。
Git BashからGit Hubへ接続する際に「Clone with SSH」のアドレスが必要になるので控えておきましょう。
Git BashからGit Hubに接続
cloneする
Git hubのリポジトリからローカルにファイルをcloneします。
$ git clone git@github.com:xxxx/test.git(控えた「Clone with SSH」のアドレス)
上記コマンドを実行すると以下のように表示され、ファイルがダウンロードされます。
$ git clone git@github.com:xxxx/test.git(控えた「Clone with SSH」のアドレス) Cloning into 'test'... Enter passphrase for key '/c/home/.ssh/id_rsa':(←パスフレーズを入力しEnter) remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done.
ダウンロードができているかを確認します。
$ cd test
$ ls(Enter押下) README.md
$ cat README.md # test
branchを作成する
ブランチを作成します。以下のコマンドを実行すると「master」ブランチのみであることがわかります。
$ git branch * master
作業用のブランチ「answer」を作成します。
$ git branch answer
再度「git branch」を実行すると「answer」ブランチが作成されていることが確認できます。
$ git branch answer * master
カレントブランチが「master」になっている(git branchを実行時に*がついている)ので、「answer」に変更します。
$ git checkout answer Switched to branch 'answer'
カレントブランチが変更されているか確認します。
$ git branch * answer master
ファイルのadd
新しいファイルを作成し、インデックスに追加します。
今回は「testfile」を作成します。
$ vi testfile
「vi」が開くので、iを押下し入力モードに切り替えます。
「sample」と入力します。
Escを押下し、コマンドモードにします。
「:wq」と打ち込み、保存して終了します。
ファイルが作成されたか確認します。
$ ls README.md testfile
この時点ではインデックスに「testfile」は含まれていません。
$ git ls-files README.md
「testfile」をインデックスに追加します。※
$ git add testfile
$ git ls-files README.md testfile
※add時、"warning: LF will be replaced by CRLF in"が出る場合
add時に「warning: LF will be replaced by CRLF in」のエラーが出ることがあります。このエラーはGitがLF改行コードをCRLFに自動変換するために起きるため、 Gitの改行コード自動変換プロパティをオフにすることで出なくなります。以下のコマンドを打ち込みましょう。
$ git config --global core.autoCRLF false
「README.md」を更新します。
$ vi README.md
「vi」が開くので、iを押下し入力モードに切り替えます。
「edit #test」と編集します。Escを押下し、コマンドモードに切り替えましょう。
「:wq」と打ち込み、保存して終了します。
ファイルが更新されたか確認します。
$ git ls-files -m README.md
更新されているのが確認できます。
commitする
ファイルをcommitします。下記コマンドを実行しましょう。
$ git commit -m "committest"
実行すると下記のように表示されます。
[master b286787] committest 1 file changed, 1 insertion(+) create mode 100644 testfile
コミットが完了しました。
pushする
ローカルでの変更をGit hubに反映します。
$ git push origin answer
コマンドを実行するとキーフレーズを求められることがあります。設定したキーフレーズを入力しEnterを押下します。
$ git push origin answer Enter passphrase for key '/c/home/.ssh/id_rsa':
Enterを押下すると
$ git push origin answer Enter passphrase for key '/c/home/.ssh/id_rsa': Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 281 bytes | 281.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'answer' on GitHub by visiting: remote: https://github.com/xxxxxxxx/test/pull/new/answer remote: To github.com:xxxxxxxx/test.git * [new branch] answer -> answer
これでpushまで完了しました。
おわりに
Git for Windowsのインストール、GitHubに接続しcloneからpushするまでの流れを追ってきました。GitとGithubを利用することで複数人での開発や成果物のバージョン管理がスムーズにできるようになります。 是非活用していきましょう。