私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

はじめてのpull request

pull requestする機会があったので経験してみた。

forkからpushまで

  • GitHub上でforkする。→GitHub上の自分のリポジトリにコピーされる。
  • git clone git@github.com:xxx.xxx.git →ローカルにコピーされる。
  • git branche -b work →ローカルにブランチを作成する。
  • ソース修正
  • git commit -m 'message'
  • git push origin work → GitHub上の自分のリポジトリにworkブランチを作成してpushする。

その後のGitHub上での操作は以下のようになる。

pull request作成

git push後、GitHubにアクセスすると以下のように「コミットされているけど、pull requestする?」というメッセージが表示されている。 f:id:mota5:20150416121400p:plain

用意周到。素晴らしい。「Compare & pull request」ボタンを押す。

メッセージの入力

メッセージの入力を求められる。タイトルは最後のコミットメッセージが表示されるようだ。また、pull requestの元と先のリポジトリ&ブランチが表示されているので確認する。 f:id:mota5:20150416121411p:plain

画面下部には修正差異が表示されていて最後の確認をすることができる。良ければ「Create pull request」ボタンを押す。

やり取り

ここで色々とやり取りができるっぽい。 f:id:mota5:20150416121422p:plain「Files changed」タブではソースに対してコメントを入力することができる。

まとめ

  • 自分のリポジトリで管理して好き勝手に修正できるので、他人のソースを修正するのに抵抗がなくなる。
  • うまくいけばその修正を取り込んでもらえる。取り込んでもらえなくても自分は自分で使えばいい。
  • 操作が楽。
  • こうやってリモート開発しているのね。

git pushでinvalid author/committer???

NetBeansでコミット後、コンソールからgit pushしたら以下のエラーが発生した。

remote: error: object 57865af073ba3ef03758680c870ff3a970e5ba21:invalid author/committer line - bad email
remote: fatal: Error in object
error: pack-objects died of signal 13
error: failed to push some refs to 'git@github.com:tsurugeek/sample.git'

invalid author/committer???

git logの結果を見ると確かにおかしい。

sample junya$ git log
commit 57865af073ba3ef03758680c870ff3a970e5ba21
Author: Junya Kemmochi <github@sample.com <>
Date:   Wed Apr 15 15:13:05 2015 +0900

以下のようになるのが正しい。

Author: Junya Kemmochi <github@sample.com>

コミットログを修正したら正常にgit pushできた。

git commit --amend

最近mysqlがお亡くなりになることが多い

最近、ローカルのrailsを起動しようとするとmysqlがお亡くなりになっていてエラーになることが多い。エラーの内容は以下。

Mysql2::Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

実際ソケットはないしプロセスも存在していない。以下のようにして起動する。

/usr/local/mysql-5.6.13-osx10.7-x86_64/support-files/mysql.server start

エラーの原因は不明。