Help us understand the problem. What is going on with this article?

いまさらGit for Windowsのインストール、GitHubに接続してみた。

More than 1 year has passed since last update.

はじめに

いまさらだけどGitを基本から分かりやすくまとめてみた」を見て、Gitを一から始めたくなったので、Windows10でGitForWindowsのインストールして、GitHubに接続してみました。
その際の手順です。

ダウンロード

下記のサイトからダウンロード出来ます。
https://gitforwindows.org/

「Download」ボタンを押下して、インストーラーをダウンロードします。
現在は、「Git-2.18.0-64-bit.exe」でした。
git.png

インストール

ダウンロードしたファイルを実行しGit for Windowsをインストールします。
ファイルを実行すると、「このアプリがデバイスに変更を加えることを許可しますか?」画面が表示されますので、「はい」を押下します。

ライセンス

同意する場合「Next」ボタンを押下します。
2018-08-30_100920.png

インストールフォルダの選択

変更しなくても問題ないと思いますので、「Next」ボタンを押下します。
2018-08-30_102902.png

インストールするコンポートネットを選択

変更しなくても問題ないと思いますので、「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のアップデートがあるか確認します。 2018-08-30_101102.png

スタートボタンメニューにGitの追加

変更しなくても問題ないと思いますので、「Next」ボタン押下します
2018-08-30_104436.png

デフォルトのエディタを設定(コミットコメントなどで使用します。)

デフォルトで「Use Vim」が選択されています、変更しなくても問題ないと思いますので、「Next」ボタンを押下します。
設定ファイルで後から変更することも可能です。

  • Use the Nano editor by default:Nanoエディタをデフォルで使用する。
  • Use Vim(the ubiquitous text editor) as Git’s default editor:Vimをデフォルで使用する。
  • Use Notepad++ as Git’s default editor:Notepad++をデフォルで使用する。(Notepad++がインストール済みである必要があります。入ってない場合「Next」ボタンが有効になりません。)
  • Use Visual Studio Code as Git’s default editor:Visual Studio Codeのエディタを使用する。(Visual Studio Codeがインストール済みである必要があります。入ってない場合「Next」ボタンが有効になりません。※インストールして有効にならなかったので何らかの設定が必要そう)
  • Use Visual Studio Code Insiders as Git’s default editor:Visual Studio Codeのエディタを使用する。(Visual Studio Codeがインストール済みである必要があります。入ってない場合「Next」ボタンが有効になりません。※インストールして有効にならなかったので何らかの設定が必要そう)

2018-08-30_104859.png

Windowsの環境変数PATHへ追加する内容を設定

デフォルトで「Use Git from the Windows Command Prompt」が選択されています。この設定でも問題ないと思いますが、環境変数を汚したくない場合は、「Use Git from Git Bash only」は選択し、「Next」ボタンを押下します。

  • Use Git from Git Bash only:環境変数PATHを修正しない。GitBashでのみGitコマンドが使える。
  • Use Git from the Windows Command Prompt:GitBash に加えて、コマンドプロンプトからもGitコマンドが使えるようになります。
  • Use Git and optional Unix tools from the Windows Command Prompt:GitコマンドとUnixコマンドをコマンドプロンプトに追加します。選択した場合、既存のコマンドが上書きされて、Unixコマンドの振る舞いをしますので、注意して下さい。

2018-08-30_105703.png

接続方式を設定

今回はGitHubに接続するので、「Use the OpenSSL library」を選択し、「Next」ボタンを押下します。

  • Use the OpenSSL library:OpenSSLライブラリを使用してサーバー認証を行います。
  • Use the native Windows Secure Channel library:Windows Certificate Storesを使用して、サーバー認証を行う。

2018-08-30_110055.png

テキストファイルの改行のスタイルを設定

Unix環境とWindows環境が混在してるなら「Checkout Windows-style,commit Unix-style line endings」を、Windows環境のみなら「Checkout as-is, commit as-is」を選択し、「Next」ボタンを押下します。
迷ったら「Checkout as-is, commit as-is」で良いかと思います。

  • Checkout Windows-style,commit Unix-style line endings:チェックアウト時に改行コードをLFからCRLFにします。コミット時にCRLFをLFに変換します。クロスプラットームプロジェクト時にWindows側の場合は選択します。
  • Checkout as-is, commit Unix-style line endings:チェックアウト時は何もしない、コミット時にCRLFをLFに変換します。クロスプラットフォームプロジェクト時に、unix側の場合は選択します。
  • Checkout as-is, commit as-is:チェックアウト、コミット時に変換を行わない。クロスプラットフォームプロジェクト以外の場合は選択します。

2018-08-30_110308.png

Git Bashが使用するターミナルエミュレータを設定

デフォルトで「Use MinTTY」が選択されています、変更しなくても問題ないと思いますので、「Next」ボタンを押下します。

  • Use MinTTY(the default terminal of MSYS2):MinTTYを使用します。サイズが変更できるウィンドウ、非矩形選択、Unicodeフォントを使用、Windows コンソールプログラム(interactive Pythonなど)は、winpty経由して、MinTTYを使用することになります。
  • Use Windows' default console windows:windows標準のコマンドプロンプトを使用します。 interactive Pythonやnode.jsなどのWin32コンソールプログラムの場合は選択します。スクロール機能が制限されており、非ASCII文字を正しく表示するために、Unicodeフォントを設定する必要があります。Windows 10以前はウィンドウのサイズを自由に変更することができず、矩形のテキスト選択しかできませんでした。 2018-08-30_133828.png

その他のオプション

デフォルトで「Enable file system caching」、「Enable Git Credential Manager」が選択されています、変更しなくても問題ないと思いますので「Install」ボタンを押下します。

  • Enable file system caching:fscacheキャッシュの有効化。メモリにキャッシュすることで性能向上させる。
  • Enable Git Credential Manager:Windowsの用のGit Credential Managerは、Windowsに対して安全な認証証明の付きのストレージを提供する。特にVisual Studio Team ServiceやGitHub用のさまざまな認証サポートをする。(.NET framework v4.5.1以降が必要)
  • Enable sysmbolic links:シンボリックリンクを有効にする。(SeCreateSymbolicLink 許可が必要)既存のリポジトリは、この設定に影響されないことに注意してください。

2018-08-30_134303.png

インストール中

インストールが始まります。
インストール.png

インストール後

インストールが完了すると、完了画面が表示されますので、「Finsh」ボタンを押下してインストールを完了させます。

  • Lauch Git Bash:Git Bashが起動します。
  • View Release Notes:Release Notesページが表示されます。

インストール後.png

インストール後の設定

Git for Windows後にGit for Windowsの設定を行います。

環境設定

GitBashを起動した際に、デフォルトのホームディレクトリは、/c/Users/[ログインユーザ]になっています。この場所でも問題ないのですが、他のファイルが混在してるので、別に場所に変更した方が作業しやすいと思います。
システムのプロパティ画面を開くには、Windowsキー+Rで、ファイル名を指定して実行ダイアログが表示されるので、下記を入力し「OK」ボタンを押下します。
sysdm.cpl
ファイル名を実行して.png

システムのプロパティ画面が開きますので、「詳細設定」タブを選択します。
システムのプロパティpng.png

「詳細設定」タブ内の「環境設定」ボタンを押下します。
詳細設定.png

環境変数ダイアログが表示されますので、[ログインユーザ名]のユーザ環境変数の下にある「新規」ボタンを押下します。
s.png

新しいユーザ変数入力ダイアログが表示されますので、下記を入力して下さい。

  • 変数名:HOME
  • 変数値:ホームディレクトリに設定するパス(今回はC:\homeに設定してます。)

入力後「OK」ボタンを押下します。
新しいユーザ変数.png

環境変数ダイアログに戻り、追加した変数が設定されていることを確認して、「OK」ボタンを押下します。システムのプロパティ画面に戻りますので、こちらも「OK」ボタンで画面を閉じます。
環境変数2.png

GitBashをスタートメニューから選択し起動します。
下記のコマンドを入力して、先程の変数値に入力したパスが設定されていれば、大丈夫です。

$ pwd
/c/home

公開鍵の生成

GitHubへ接続するために公開鍵を作成します。
GitBashをスタートメニューから選択し起動します。
下記のコマンドを実行します。

GitBash
$ ssh-keygen -t rsa -b 4096 -C [コメント]

実行すると、作成する公開鍵と秘密鍵のディレクトリおよびファイル名の確認されます。
ディレクトリとファイル名がそのままでよければそのままEnterを押してください。

GitBash
$ ssh-keygen -t rsa -b 4096 -C [コメント]
Generating public/private rsa key pair.
Enter file in which to save the key (/c/home/.ssh/id_rsa):

パスフレーズを設定します。設定しなくてもEnter進めますが、設定しておいたほうが良いでしょう。

GitBash
Created directory '/c/home/.ssh'.
Enter passphrase (empty for no passphrase):

確認の為にもう一度入力を求められるので、同じパスフレーズを入力します。

GitBash
Enter same passphrase again:
Your identification has been saved in /c/home/.ssh/id_rsa.
Your public key has been saved in /c/home/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:A/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [コメント]
The key's randomart image is:
+---[RSA 4096]----+
|=o*..  o..o.     |
|.+o=     +.      |
|  o.  o.+. .     |
| .o  o o. = .    |
|      ..S. + .   |
| o   o..o.  .    |
|  o    o .       |
|. +.o o .        |
|.o+*.+           |
+----[SHA256]-----+

パスフレーズを入力すると、公開鍵と秘密鍵が作成されます。
何も変更しなかった場合は、コマンドを実行した直下に.sshディレクトリが作成され、下記の2ファイルが作成されます。

  • id_rsa : 秘密鍵
  • id_rsa.pub : 公開鍵

GitHub

GitHubに接続します。
https://github.com/

すでにアカウントを持っている場合は、公開鍵の登録へ進んで下さい。
GIthub.png

アカウント登録

アカウント登録は、画面の右上にある「Sign up」を選択します。
「Join GitHub」画面が表示されます。

Step1

3つの項目を入力したら、「Create an account」ボタンを押下します。

  • Username:ユーザー名を入力します。
  • Email address:Emailアドレスを入力します。
  • Password:パスワードを入力します。

GitHubsignup.png

Step 2

個人で使用する分には、このまま設定で問題ないと思いますで、「Continue」ボタンを押下します。

  • Choose your personal plan:料金プランです。
    • Unlimited public repositories for free. :リポジトリは無料で作成出来ますが、全て公開された状態になります。
    • Unlimited private repositories for $7/month. :非公開のリポジトリは作成出来ます、月に7ドル。
  • Help me set up an organization next:企業向けの設定になります。サポートが手厚くなるようです。
  • Send me updates on GitHub news, offers, and events:GitHubからのニュースやイベントのメールが届くようになります。

GitHubsignup2.png

Step 3

簡単なアンケートページです。無視しても問題ありません。「Submit」ボタンを押下します。

  • プログラミング経験のレベルは?
    • 経験豊富
    • やや経験あり
    • 初心者
  • GitHubをどのように使う予定ですか? (当てはまるもの全てチェック)
    • 開発
    • 学校のプロジェクト
    • プロジェクト管理
    • 研究
    • 設計
    • その他
  • あなたはどのような存在ですか?
    • 愛好家
    • 学生
    • プロフェッショナル
    • その他
  • 何に興味があるか?

STEP3.png

アカウント登録完了

アカウントの登録が完了しました。
途中で、GitHubから次のタイトルのメールが来ると思いますので、「[GitHub] Please verify your email address.」本文の「Verify email address」をクリックして、メールアドレスが正しい事を確認します。確認が完了すると「[GitHub] Thanks for verifying your email address.」とメールが届きます。

GitHubsignup3.png

公開鍵の登録

先程作成した公開鍵を登録します。

画面の右上にあるアイコンをクリックします。
メニューが表示されるので、「Settings」を選択します。
Githubメニュー.png

「Public profile」画面が表示されますので、左側のメニューから「SSH and GPG keys」を選択します。
Githubプロファイル.png

「SSH and GPG keys」画面が表示されますので、SSH keysの「New SSH Key」ボタンを押下します。
github SSH.png

「SSH keys / Add new」画面が表示されますので、必要な情報を入力し、「Add SSH Key」ボタンを押下します。

  • Title:登録するSSHのPCが特定できる名前が良いと思います。
  • Key:先程作成した公開鍵の中身を貼り付けます。(c:\home.ssh\id_rsa.pub)

GitHub_new_SSH.png

公開鍵を登録すると、「SSH Keys」に登録した公開鍵が表示されます。

GitHub_new_SSH2.png

リポジトリ作成

GitHubで新規にリポジトリを作成します。

左上のアイコンをクリックし、メニューから「Your repositories」を選択します。
GIthub_リポジトリ作成メニュー.png

登録してあるリポジトリの一覧画面が表示されます。
「New」ボタンを押下します。
Github_リポジトリ一覧.png

「Create a new repository」画面が表示されますので、リポジトリを登録します。
今回、リポジトリ名と、説明を入力し、READMEファイルは作成するで進めます。入力が終わったら、「Create repository」ボタンを押下します。

  • Repository name:登録するリポジトリ名です。(今回は「sample」で登録します)
  • Description (optional):説明です。 (今回は「サンプル」で登録します)
  • Public:公開で作成します。(Private を選択すると、有償になり、カード等の入力が促されます。)
  • Initialize this repository with a README:READMEファイルを作成するかを指定します。
  • Add .gitignore:Gitの管理から外したいファイルを指定します。

- Add a license:ラインセンスを指定します。

Github_リポジトリ作成.png

リポジトリを作成すると下記の画面が表示されます。「Clone to download」ボタンを押下します。
GitHub_リポジトリ作成後.png

「Use SSH」を選択します。
USEHHTP.png

後ほどGitBashから接続する際に、「Clone with SSH」のアドレスを使用しますので、控えておいて下さい。
USESSH.png

GitBashからGitHubへの接続

GitBashからGitHubに接続し、簡単なGit操作を行います。
流れとしては、GitHubからファイルをダウンロード(clone)し、ローカルでブランチ(branch)を作成します。作成したブランチでファイルの追加(add)と、編集を行います。その後コミット(commit)を行い。最後にGitHubに反映します(push)。

clone

ローカル環境にGitHubのリポジトリからファイルを取得します。

GitBash
$ git clone git@github.com:xxxx/sample.git(先程控えたアドレス)

コマンドを実行すると、ファイルがダウンロードされます。

GitBash
$ git clone git@github.com:xxxx/sample.git(先程控えたアドレス)
Cloning into 'sample'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

ダウロードしたファイルを確認するために、sampleディレクトリに移動します。

GitBash
$ cd sampple

ディレクトリの中身を確認します。

GitBash
$ ls
README.md

「README.md」の中身を確認します。

GitBash
$ cat README.md
# sample
サンプル

branch

ブランチを作成します。
最初に現在のブランチの一覧を取得してみます。

GitBash
$ git branch
* master

マスターブランチのみであることがわかりますので、作業用に新規にtopicブランチを作成します。

GitBash
$ git branch topic

新しいブランチが作成されたか、再度ブランチの一覧を取得します。

GitBash
$ git branch
* master
  topic

topicブランチが作成されているので、カレントのブランチを「master」から「topic」に変えます。
カレントのブランチには「*」(スタリスク)がついています。

GitBash
$ git checkout topic
Switched to branch 'topic'

カレントのブランチが変更されたか、再度ブランチの一覧を取得し、カレントのブランチが「topic」に変わっていることが確認出来ます。

GitBash
$ git branch
  master
* topic

add

新規にファイルを作成して、インデックスに追加します。
また、「README.md」ファイルも変更します。

ファイルを作成します。今回は「addfile」というファイルを作成します。中身は何でも構いません。
編集が終わったらセーブします。

GitBash
$ vi addfile

ファイルが作成された事を確認します。

GitBash
$ ls
addfile  README.md

この時点だとまだインデックスにaddfileは含まれてません。

GitBash
$ git ls-files
README.md

作成したファイルをインデックスに追加します。

GitBash
$ git add addfile

インデックスに含まれたことを確認します。

GitBash
$ git ls-files
README.md
addfile

続いて「README.md」ファイルを更新します。中身はどう編集しても構いません。

GitBash
$ vi README.md

「README.md」ファイルが更新された事を確認します。

GitBash
$ git ls-files -m
README.md

commit

ローカルリポジトリへ反映します。

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

GitBash
$ git commit

viが起動し、コメントを入力するが求められます。

GitBash
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch topic
# Changes to be committed:
#       new file:   addfile
#
# Changes not staged for commit:
#       modified:   README.md
#
~

コメントにも流派があるようですが、今回は1行目にタイトル、2行名は空行、3行目以降は詳細で記載します。

GitBash
add 初めてのコミット

addfileを追加したよ。
README.mdを編集したよ。
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch topic
# Changes to be committed:
#       new file:   addfile
#
# Changes not staged for commit:
#       modified:   README.md
#
~

VIを保存して終了すると、コミットが完了します。

GitBash
$ git commit
[topic a5888f2] add 初めてのコミット
 1 file changed, 1 insertion(+)
 create mode 100644 addfile

push

ローカルあるファイルをGitHubサーバーに反映させます。

GitBash
$ git push origin topic
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 357 bytes | 357.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'topic' on GitHub by visiting:
remote:      https://github.com/xxxxxx/sample/pull/new/topic
remote:
To github.com:watanabe1975/sample.git
 * [new branch]      topic -> topic

感想

本当にいまさらですが、Windows環境にGitを入れてみました。
特にわかりにくい所はなかったと思いますが、その分忘れてそうなのでまとめてみました。

参考

いまさらだけどGitを基本から分かりやすくまとめてみた

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした