Windowsへの「hub」コマンドのインストールでハマった

TOC

  1. 必要となるもの
  2. Cloneしてくる
  3. CygwinにAliasを登録
  4. SSHキーを登録
  5. リポジトリを作ってみる

こんにちは。

hub コマンドを知ってますか。

git + hub = github とのことで、git コマンドを github 用に拡張したものです。

そのインストールでハマりました。

必要となるもの

  • Git (公式だと 1.7.3 or newer)
  • Go (公式だと 1.4 or better)
  • Cygwin、OpenSSH (SSHを登録するとき)
  • Vi、Vim とかの Cygwin 上でファイルを編集できるやつ
  • Github のアカウント

これらをインストールしておいてください。
Cygwin は、alias の登録のほか、鍵を作るときに使いますので、OpenSSH のモジュールも入れておいてください。
Cygwin-OpenSSH

Cloneしてくる

1
2
3
4
5
6
7
8
$ cd [インストール先]
$ git clone https://github.com/github/hub.git
Cloning into 'hub'...
remote: Counting objects: 11500, done.
remote: Total 11500 (delta 0), reused 0 (delta 0), pack-reused 11499
Receiving objects: 100% (11500/11500), 3.45 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (6893/6893), done.
Checking connectivity... done.

この後、生のコマンドプロンプトで実行してください。なぜかエラーが出ます。
Win+Rキー、cmdと入力、enter

1
2
3
4
C:\Users\XXX> cd [インストール先]\hub
[インストール先]\hub> "./script/build"
(少し待つ)
[インストール先]\hub>

環境変数を登録しておく。PATHに、[インストール先]\hubを追加すればOK

1
2
3
$ hub version
git version 2.6.4.windows.1
hub version 2.2.0-117-g35c76bf

反映されてないときは、CygwinのリスタートかWindowsの再起動か・・

CygwinにAliasを登録

以下、Cygwinです。

1
2
$ cd ~
$ vim .bashrc

別にvimでなくても、編集できればいいです。
.bashrcに追加します

1
eval "$(hub alias -s)"

Cygwinをリスタートします。

1
2
3
$ git version
git version 2.6.4.windows.1
hub version 2.2.0-117-g35c76bf

hubの方も表示されていれば、gitコマンドがhubのaliasとして登録されたとなります。

SSHキーを登録

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/XXX/.ssh/id_rsa):
Created directory '/home/XXX/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/XXX/.ssh/id_rsa.
Your public key has been saved in /home/XXX/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MaEZmq4XZASzm79wb2E2gfW9YITZhU7o03go2byyCpc XXX@XXX
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| |
| |
| 何か |
| |
| |
| |
| |
+----[SHA256]-----+

$ cd ~/.ssh
$ ls
id_rsa id_rsa.pub
$ less id_rsa.pub

cygwin-sshkey-pub

id_rsa.pubファイル内の文字列をコピーします。
そして、https://github.com/settings/sshへアクセスします。

github-sshkey-paste

  1. Add SSH keyでキーを追加
  2. Titleを指定
  3. ここに文字列を貼り付け
  4. Add keyで保存

リポジトリを作ってみる

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ mkdir test-rep
$ cd test-rep
$ echo "# hub test rep" > README.md
$ git init

Hubの見せ場!Github上にリポジトリを作る
$ git create
Updating origin
The authenticity of host 'github.com (192.30.252.128)' can't be established.
RSA key fingerprint is SHA256:XXX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.
created repository: xxx/test-rep

(もしかしたら一回目だとGithubのユーザー名、パスワードを聞かれるかもしれません。
そのときはログインしてください)
$ git add .
$ git commit -m "first commit"
$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 227 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:xxx/test-rep.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

ブラウザーでリポジトリを開く
$ git browse

github-push-success

できました!!