こもろぐ @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

広告:本ブログで紹介している書籍等商品の紹介でAmazonアソシエイトを利用していることがあります。

githubからローカルにコピーするところまで

macbookにgitの環境を設定するところから。ただしgit自体はmacportsでインストールしている

ユーザ設定

$ git config user.name tenkoma
error: could not lock config file .git/config

うえ。とりあえず、ディレクトリつくってみま。

$ mkdir .git
$ git config user.name tenkoma
$ git config user.email hogehoge@tenkoma.net
$ git config core.editor vim
$ git config core.pager less

うまくいった。

githubに追加しておいたリポジトリをとってくる

とってくるのは簡単にできた。

$ mkdir git # リポジトリを入れておくディレクトリ
$ git clone git://github.com/tenkoma/dotfiles.git
$ ls
dotfiles

dotfilesにはvimrcというファイルだけが入っている

変更してコミットする

今日覚えた、set cursorlineを追加してコミットしよう

$ cd dotfiles
$ vim vimrc #追加: set cursorline
$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#       modified:   vimrc
#
no changes added to commit (use "git add" and/or "git commit -a")

変更されたけどまだリポジトリに入ってないよってことらしい

$ git add vimrc 
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   vimrc
#
$ git commit
Created commit 5765d7e: add: cursorline setting
 1 files changed, 1 insertions(+), 0 deletions(-)

よーし、githubにpushするぞー

$ git push
fatal: protocol error: expected sha/ref, got '
*********'

You can't push to git://github.com/user/repo.git
Use git@github.com:user/repo.git

*********'

うーむ、ここまできてなんか違う気がするのですが…
自分自身のリポジトリの場合Public Clone URLとYour Clone URLの2種類が表示されているので、2つめをためしてみるか

$ cd ~/git
$ rm -rf dotfiles #慎重に
$ git clone git@github.com:tenkoma/dotfiles.git
Initialized empty Git repository in /Users/tenkoma/git/dotfiles/.git/
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

認証を求められているっぽいです。https://github.com/accountSSH Public Keysに~/.ssh/id_rsa.pubの内容を追加しておきます。

$ git clone git@github.com:tenkoma/dotfiles.git
Initialized empty Git repository in /Users/tenkoma/git/dotfiles/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

OK。先ほどと同様に編集して、git add, git commitします。

$ vim vimrc 
$ git add vimrc
$ git commit
Created commit 5f19e5d: add: cursorline
 1 files changed, 1 insertions(+), 0 deletions(-)
$ git push
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 281 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@github.com:tenkoma/dotfiles.git
   0d6232f..5f19e5d  master -> master

なるほどー。
Your Clone URLを使えばよいのですね。