読者です 読者をやめる 読者になる 読者になる

「GitHub実践入門 ~Pull Requestによる開発の変革」を読んだメモ

f:id:komeiy:20150107164959j:plain

GitHubは自分の作ったコードの管理やJenkinsなどの連携のため、masterへpushするだけの1人開発を行っていたのですが、一度体系的に学んでみたくなり「GitHub実践入門 ~Pull Requestによる開発の変革」を読んでみました。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

感想としては知っていることも多かったけど、体系的に学んで頭を整理するという意味で読んで良かったです。github flowの話や各コマンドのオプションやhubコマンドなどメモしておきたいポイントが出たのでアップしておきます。

Pull Requestについて書いたエントリーもありますので参考にして頂ければと思います。

GitHubでPull Requestを使わないのはもったいないと思ったので簡単な使い方をメモしておく - ぽぽぽぽーんのネットワークとOSS

gitコマンドのオプションなど

  • git commit -mなし
  • エディタが起動
  • 2行目は空白にして3行目に詳細を書く

  • git log

  • コミットメッセージの一行目だけ表示するオプション--pretty=short
  • -p差分表示
  • git diff HEADで前回との差分表示

  • git checkout

  • ハイフンで一つ前のブランチに切り替え

  • git merge - - no - ff ブランチ名

  • git log --graph

Githubに関するお作法・あれこれ

  • ブランチの分け方(github flow??)
  • マスターを安定したリリースブランチ
  • トピックブランチを作成して、その機能に集中したブランチで開発
  • マージする

  • pull requestのWIPなど

  • 開発中のpull requestには[WIP]をつける
  • 議論のためな早い段階でリクエストを送る
  • checkout後も作業してることを知らせるためにすぐプッシュだけする
  • テストコードを含める

  • 画像の差分も確認できる。

  • image view mode demo
  • differenceで、違う部分の抽出が可能

GitHubで便利なhubコマンド

  • hubコマンド
  • git1.7.3以上、ruby1.8.6以上
  • gitのラッパー

  • インストール

  • brew install hub
  • hub version

  • コマンド

  • hub clone リポジトリ
  • hub clone ユーザ名/リポジトリ
  • remote add / fetch
  • hub fork
  • hub pull-request -b ブランチ:リポジトリ -h ユーザ名:リポジトリ

  • hub checkout URLでプルリクのURLを指定してcheckout

  • hub browse ブラウザオープン
  • hub compare 差分をブラウザでオープン

  • hub cherry-pick

  • hub create github上にもリポジトリを作成する。公開になってしまう
  • hub push 複数のリモートへ同時プッシュ。使わなそう。

GitHubとの連携

  • travis CI 継続的インテグレーション
  • coveralls テストのカバー率をレポート
  • gemnasium rubygemsのバージョン一覧

  • jenkinsでの自動デプロイテスト

  • botアカウントをつくる
  • 鍵はssh/configをいじることも
  • github pull request builder plugin
  • アクセストークンを設定
  • ジョブのビルド・トリガを設定

その他

  • 障害情報の確認

    https://status.github.com

  • git flowについて

  • develop
  • release branches
  • feature branches

  • brew install git-flow

  • git flow init -d
  • git flow feature start 名前
  • git flow release start 'version'
  • git flow release finish 'version'
  • git flow hotfix start 'version' 'version'

シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。

このエントリーをはてなブックマークに追加

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

広告を非表示にする