githubにgit pushしようとしたら、↓のようなメッセージがでた。
SSH Keyの設定は、githubの説明(ここ)のとおり設定してある。
username@computername:$ git push origin master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
よくよく.~/.sshの中を見ると、configというファイルができていた。
中身を見てみると、↓のようになっている。
んっ?id_dsa???そりゃ動くわけないわ。。。id_rsaだもん。。。
username@computername:$ cat config
Host github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_dsa
TCPKeepAlive yes
IdentitiesOnly yes
というわけで、「IdentityFile ~/.ssh/id_dsa」部分を「IdentityFile ~/.ssh/id_rsa」に書き換え。
ついでに、同じく~/.sshの中にあるknown_hostsというファイルから、「github.com」で始まる一行を削除。
気を取り直してgit pushすると、できた☆
コメントなし »
sshでCORESERVERにログイン。
(CORESERVER管理画面でssh登録を事前にすませておく)
$ ssh [アカウント]@s[数字].coreserver.jp
ソースをCORESERVERで取得
ここ↓から最新番のtar.gzファイルのリンクURLをコピー。(現在の最新は1.6.1.3)
http://git-scm.com/
$ wget [http://からはじまる、コピーしたtar.gzのURL]
$ tar xvzf [tar.gzファイル名]
$ cd [解凍してできたディレクトリ名]
$ ./configure --prefix=$HOME/local
$ gmake
$ gmake install
インストールされたか確認。下記をうつと、gitのバージョンが表示されていればOK
$ git --version
リポジトリ作成
適当な場所にディレクトリとファイルを作成し、リポジトリを作成してコミットしてみる。
$ cd $HOME
$ mkdir gitrepos
$ cd gitrepos
$ echo "sample" > README
$ cd $HOME/gitrepos
$ git init
$ git add .
$ git commit
コミットしたよー的な.git/COMMIT_EDITMSGファイルの内容が表示されればOK
コメントなし »
投稿者: lllnorikolll, カテゴリ: メモ箱, tags: Git
Git勉強会(http://atnd.org/events/93)に参加してきました。
で、ここに書く内容は、まとめ的なものではなく、単に自分用メモなので、あしからず。。。
【git – 読み方:ギット】
各ファイルのパスと、差分情報のハッシュ値を記録。
オブジェクトデータベースと呼んでいるものに入れていく。
→この入れていった箱のようなものをリポジトリという。
・HEAD 歴史の先頭(最新)。コミットされたもの。
・Index HEADとWorktreeの中間的存在。コミットされた最新版をHEADから取得してくる&Worktreeでファイル編集したものをここにいれる。
なぜIndexのようなステージングエリアがあるのか?
→Worktreeには、バージョン管理するファイルのみがあるとは限らない!バージョン管理しているファイルとそのファイルの情報をIndexで管理することができる。そうすることによって、小刻みに丁寧に変更していくことができる。
・Worktree ここでファイルの内容を編集する。
CVSやSVNでは中心にサーバーがあって、そこからソースを持ってきて、その持ってきた場所に対してじゃないとコミットできないが、Gitは欲しい部分だけ差分をとってきたり、入れたりできる。
$ git clone git://git.or.cz/git.git my-git
$ cd my-git
$ edit README
$ git add -p←この-pオプションをつけると、細かくcommitしていい部分なのかどうかをコミット前に聞いてくれる。
$ git diff
$ git diff --cached
$ git commit
$ git diff –color-words 単語単位で変更点の色を変えてくれる。
HEAD→Index→worktree
この流れでworktreeでファイル編集作業をしている最中に、その作業とは別に、先にコミットしてしまいたい修正があった場合、
stash save
をすることによって、編集していた状態(HEAD→Index→worktreeの状態)を一時的に他の場所にセーブしておいて、HEAD→Index→worktreeをもとの状態に戻す。
〜そしてここで先にコミットしたかった修正をコミットする。〜
stash apply
をすることによって、stash saveでセーブしておいた状態にHEAD→Index→worktreeをもどせる。
A→B→C→D→E
の順でIndexに登録したとき、Bにもし間違いがあった場合は、
rebaseコマンドで何個前からすべてを書き換えるということができる。
$ git checkout -b (ブランチをつくる)
$ git commit -a(全部する) -s(自分がコミットして誰でも使えるよをつける) -v()
$ git show 何をしたか見れる。
$ git grep -n -e 'VIA_823[56]' git が知っているファイルからgrepしてくれる。(オプジェクトファイルなどは無視してくれる。)
$ git commit --amend -a このamendオプションをつけると、さっきcommitしたものを捨てて、コミットする。
MacにGitをインストール
http://code.google.com/p/git-osx-installer/downloads/list?can=3
コメントなし »