2
4

More than 3 years have passed since last update.

初めてのGitインストール~コミットまで【Windows編】

Last updated at Posted at 2020-03-01

ネットで調べながらGitでコミットできるまで挑戦したら2~3時間程、苦戦したので同じステップを踏まないためにメモします。Windows10編

流れ

  1. 事前準備
  2. SSHまわり
  3. GitHubアカウントまわり
  4. Gitまわり

事前準備

  1. インストールについては割愛。一応リンク

2.インストールできたら、Git Bash起動。

最初にやること

まずはインストールできてるか確認

$ git --version
git version 2.25.1.windows.1
ユーザ名とメアドの設定
$ git config --global user.name "ユーザ名"
$ git config --global user.email メアド

設定できたか以下のコマンドで確認

$ git config --list 
...
...
user.name= ユーザ名 
user.email= メアド

SSHキー取得

リモートリポジトリとやり取りするためにSSHのカギが必要らしい。

SSHキー作成

※GitHubに登録しているEmailアドレスを使うのが一般的らしい

$ ssh-keygen -t rsa -b 4096 -C "メアド"

SSH Keysの保存先を聞かれているので、特に気にしなければそのままEnterを入力。

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

ここで生成されるファイル名は上記のコマンドなら

id_rsaid_rsa.pubのはず。それ以外ならおかしい。自分は暗号のようなファイル名になったので何回かやり直した。

*よくわからんファイル出ても削除すれば問題なし。

パスフレーズ入力

Enter passphrase (empty for no passphrase): [Type a passphrase] # Enter same passphrase again: [Type passphrase again]

*ちなみに、色々な記事で、生成されたファイルにパーミッション設定するよう言われる(chmod 600のコマンド)がWindowsの場合いらない

Windowsでchmodは実行できないと書きましたが、元々Windowsでは他のユーザアカウントのデータは(管理者権限が無い限り)見えないようアクセス制御されていますので、「秘密鍵のパーミッション変更」は実行しないままで大丈夫です。

SSHのconfigファイル設定

GitHubへSSH接続する際に、どの秘密鍵を指定するのかを管理するのが目的。以下の内容を.ssh/config(拡張子なし)に記述。なければ作る。

Host github
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

GitHubのアカウントに公開鍵を登録

アカウント持ってなければ作る。ここも割愛。一応リンク↓
How people build software · GitHub

リポジトリ作成

*リポジトリ持ってたら大丈夫

アカウント作ったらリポジトリ作成。
​ 自分のアカウントのページ行ってリポジトリのタブでNew押す。

  1. ​ リポジトリ名書いて
  2. ​ Public or Private 選択
  3. ​ Initialize this repository with a README に任意でチェック入れたら
  4. ​ Create repository クリック 20170130132949.png

公開鍵を登録する

  1. id_rsa.pubの中身をコピー

  2. 右上のメニューから Settings を選択

  3. gitのプロフィール画面の左側メニューSSH and GPG keys
    20170130132834.png

  4. New SSH keyをクリックして登録

ー「Title」はPC名とか自分がわかりやすいやつで

ー「Key」には、先ほどコピーした公開鍵の値をそのまま貼り付けます。

で、「Add SSH key」をクリック

これでSSH接続の設定おわり

SSH接続できるか確認

SSHのconfigファイルを設定したので、以下のように「github」と指定するだけで、記載したホスト名、ユーザー名、秘密鍵が自動的に使われます。

$ ssh github

以下のようなやつでたら、GitHub's SSH key fingerprintsにあるfingerprintsと一致するのを確認したらyes


The authenticity of host 'github.com (52.69.186.44)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
``


Hi username! You've successfully authenticated, but GitHub does not # provide shell access.

これがでればOK

番外編

ssh-addでマシンに鍵登録
git pushとかするたびに毎回パスワード聞かれるなら以下のコマンド


$ eval `ssh-agent`
$ ssh-add keyのパス(デフォルトは~/.ssh/id_rsaだと思う)

さあ!いよいよGitを使おう

作業ディレクトリ作成


$ mkdir git
$ cd git

おっと、ここで初心者の私が即席で調べて理解したgitの作業イメージを共有して進めたほうが親切そうだな

作業イメージ

ローカルリポジトリ(自分のパソコン内のリポ)とリモートリポジトリ(ネット上のリポ)ってのがあって

ステージング : どれを保存するか選ぶ
コミット:ローカルに保存
プッシュ:サーバに保存
マージ:Masterに更新

無題.png

ちなみに
プル : サーバからデータをローカルにロードする

(何か違えば教えてください)

リポジトリをローカルにCloneする

リポジトリをさっき作った作業ディレクトリ(ローカル)にクローンする。

GitHubのリポジトリのページから Clone or download をクリックして、今回は Use SSH を選択。

git@github.com:【ユーザー名】/【リポジトリ名】.git」という文字列をコピー
20170130132923.png

コピーしたやつを書きコマンド git clone のあとに張り付けてCloneする


$ git clone git@github.com:【ユーザー名】/【リポジトリ名】.git 
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.

これで自分のディレクトリにファイルが入ってる

お次はリポジトリに移動してそのまま編集してコミットまでしたい気持ちはあるが、通常はMasterブランチにコミットすることはなく、ローカルで作業用のブランチを作って、そこで弄ったものをローカルで保存(コミット)してサーバにあげる(プッシュする)らしいのでそれをやる。

ブランチ作る

$ cd 【リポジトリ】         #リポジトリのディレクトリへ移動
$ git checkout -b ブランチ名       #開発用のブランチを作成
Switched to a new branch 'ブランチ名'

*リポジトリのディレクトリの中には管理したいファイルを置いとく。以下で確認。


$ ls -l

ファイルをステージング

コミットしたいやつをステージング


$ git add 対象ファイル 

*ちなみに取り消したいときは


$ git reset HEAD 対象ファイル

ローカルにコミット

ステージングされたやつをローカルに保存

コミットメッセージはおまかせ


$ git commit -m "コミットメッセージ"
[develop 77a190e] test commit
 1 file changed, 46 insertions(+), 5 deletions(-)

GitHubにプッシュ

下記コマンドでGitHubにプッシュします。


$ git push -u origin ブランチ名

#パスワードうったりして、なんか表示される

 * [new branch]      ブランチ名 -> ブランチ名
Branch 'ブランチ名' set up to track remote branch 'ブランチ名' from 'origin'.

これがでたらおわり。

あとはGitHubを見に行ったら更新されてるのを確認。
お疲れ様です。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4