Posts Tagged “Git”

githubにgit pushしようとしたら、↓のようなメッセージがでた。
SSH Keyの設定は、githubの説明(ここ)のとおり設定してある。

$ git push origin master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

よくよく.~/.sshの中を見ると、configというファイルができていた。
中身を見てみると、↓のようになっている。
んっ?id_dsa???そりゃ動くわけないわ。。。id_rsaだもん。。。

$ 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すると、できた☆

Comments githubでPermission denied (publickey). はコメントを受け付けていません。

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

Comments CORESERVERに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

Comments Git勉強会メモ はコメントを受け付けていません。