支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

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

ダウンロードした「Git-2.27.0-64-bit.exe」を実行します。

ライセンス

ライセンスに同意する場合は「Next」を押下します。

インストールフォルダ

インストールフォルダの設定ができますが、変更しなくても問題ありません。デフォルトのまま「Next」を押下します。

コンポーネント

インストールするコンポーネントを選択します。

  • Additioncal icons:ディスクトップにアイコン追加
  • Windows Explorer integration:エクスプローラーで右クリック時に表示されるメニューを追加
  • GitLFS:GitLFSのサポート有無
  • Associate .git* configuration files with the default text editor:.gitで始まるファイルをデフォルトエディタに関連付け
  • Associate .sh files to be run with Bash:*.shファイルをBashで実行できるように関連付け
  • Use a TrueType font in all console windows:全てのコンソールウインドウにTrueTypeフォントを適用
  • Check daily for Git Windows updates:Git for Windowsのアップデートを毎日確認

  • スタートボタンメニュー

    スタートボタンメニューに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

    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

    Github(https://github.com/)にアクセスします。既にアカウントをお持ちの場合はこの手順は飛ばしてください。

    Sign up for Github

    Username、Email、Passwordをそれぞれ入力し「Sign up for Github」をクリックします。

    パズル認証

    パズル認証画面が表示されます。認証が終わったら「Join a free plan」をクリックします。

    アンケート1 アンケート2 アンケート3

    この画面はアンケートのようなものなので特に答えなくても問題ありません。「Complete setup」をクリックしましょう。

    アンケート3

    これでアカウント登録が完了しました。登録したメールアドレスの認証が必要なので、Githubからの認証メールが来たらメール内の「Verify email address」をクリックしましょう。

    アカウント登録完了

    認証メール内の「Verify email address」をクリックし、ログインすると「You email was verified」と表示されます。

    公開鍵を登録する

    作成した公開鍵を登録します。画面右上のアイコンを選択し、メニューから「Setting」を選択します。

    Setting

    「Public profile」画面が表示されます。「Personal settings」から「SSH and GPG keys」を選択します。

    SSH and GPG keys

    「New SSH Key」ボタンを押下します。

    New SSH Key

    「Title」「Key」を入力し「Add SSH Key」ボタンを押下します。「Key」には公開鍵(c:\home.ssh\id_rsa.pub)の中身を貼り付けます。

    Add SSH Key

    登録が完了しました。「SSH keys」に登録した公開鍵が表示されているのが確認できます。

    SSH Keys

    リポジトリ作成

    新規リポジトリを作成します。右上のアイコンをクリックし、「New Repository」を選択します。

    New Repository

    リポジトリの作成画面に遷移します。

  • Repository name:登録するリポジトリの名前
  • Description (optional):説明
  • Public:公開で作成(Privateを選択した場合、有償になりカード等の入力が必要)
  • Initialize this repository with a README:READMEファイルを作成するかの指定
  • Add .gitignore:Gitの管理から外したいファイルの指定
  • Add a license:ライセンスの指定
  • 今回は「Repository name」を「test」にし、「Initialize〜」にチェックを入れます。すべて入力したら「Create repository」をクリックします。

    Create repository

    「test」リポジトリが作成できました。「Code」ボタンを押下します。

    Code

    「Use SSH」を選択します。

    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を押下し入力モードに切り替えます。

    vi

    「sample」と入力します。

    sample

    Escを押下し、コマンドモードにします。

    コマンドモード

    「:wq」と打ち込み、保存して終了します。

    :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を押下し入力モードに切り替えます。

    vi

    「edit #test」と編集します。Escを押下し、コマンドモードに切り替えましょう。

    コマンドモード

    「:wq」と打ち込み、保存して終了します。

    :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を利用することで複数人での開発や成果物のバージョン管理がスムーズにできるようになります。 是非活用していきましょう。