Rails Developers Meetup 2018: day 1 (https://techplay.jp/event/639872)
先日 kazuho さんが git blame でプルリクを表示するスクリプトをつくってらっしゃって,便利そうだったので Vim プラグインをつくってみました. ファイルの各行がどのプルリクで変更されたかを確認し,気になるプルリクはその場で詳細を確認することもできます. github.com 使い方 インストールはお好みの Vim プラグインマネージャを使うなどしてください. 1. ファイルを開いて :GHPRBlame を実行 :GHPRBlame を実行すると裏で git-blame が走り,カレントバッファのファイルの各行のプルリク情報を git blame --line-porcelain で引っ張ってきます. 引っ張ってきた情報を元にカレントバッファの左に細長い一時バッファが開き,そこに各行に紐付いたプルリク番号が表示されます(プルリクに紐付いていない行は何も表示されません).
GitHubでプルリクエスト前提の開発をしていると、git blameで「なぜ、このコードがこうなっているのか」調べる際に、commit idではなくプルリクエストの番号を表示してほしくなります。 というわけで書いたのが git-blame-pr.pl。 以下のような感じで表示されるので、調査がはかどります。 $ git-blame-pr.pl lib/core/request.c (中略) PR #446 PR #606 h2o_iovec_t h2o_get_redirect_method(h2o_iovec_t method, int status) PR #606 { PR #606 if (h2o_memis(method.base, method.len, H2O_STRLIT("POST")) && !(status == 307 || status == 308)) PR
綺麗にコミットしてますか?? はじめまして!Emojineerのnownabeです。グッドパッチではProttのサーバサイドエンジニアをやっています 本記事ではGitのコミットを綺麗に保つためにProttチームで導入しているEmoji Prefixを紹介します。 Emoji Prefixって何? Emoji Prefixは「Gitのコミットメッセージの先頭にEmojiをつけよう」という一種のスタイルガイドです。 GitHubなどEmojiに対応しているGitホスティングサービスの利用を前提としています。 Emoji Prefixをつけてコミットすると、例えばGitHubならこのように表示されます。 基本はコミットメッセージの先頭にEmojiをつけるだけです。 ただし、EmojiはEmoji Prefixのルールに従って決める必要があります。 コミットの種類によってEmojiが決まる、という
要約すると url.<base>.insteadOf や url.<base>.pushInsteadOf を使えば良いという話です。 github 以外でも使えます。 設定例 自分では今のところ、以下の設定にしています。 最初の [url "git@github.com:"] のセクションは URL の指定として https: や git: を使っていても git push のときには ssh 経由にする、 という意味になります。 次の [url "git://github.com/"] は、その他の git fetch や git pull の時は https: の代わりに git: を使うという意味になります。 [url "git@github.com:"] pushInsteadOf = git://github.com/ pushInsteadOf = https://githu
こんにちは、投稿推進部の森川 (@morishin127) です。 エンジニアが既存のプロダクトの開発に携わる際、他人の書いたソースコードを読み解くところから始まります。過去に書かれたコードの意図を理解することは自分が書いたものでもしばしば難しく、他人が書いたものならなおさらです。この記事では過去に書かれたコードを理解するための工夫についてお話したいと思います。 なお、この記事ではプロダクトのソースコードはgitおよびGitHubのPull Requestを利用して開発が進められていることを前提としています。 特定の行から関連するPull Requestページを開く クックパッドのソースコードには概してコメントがあまり書かれておらず、見ただけでは理解しづらいような特殊な方法をとっている場合のみコメントを書いている印象です。基本的に実装に関する説明はソースコード中ではなく、GitHubのPu
Customized Training Empower your developers with the tools and skills for collaboration Summary Work simpler, faster, and more effectively than ever. Our trainer will walk you and your team through hands-on demonstrations of Git and GitHub, grounding everything in our collaboration model, the GitHub Flow. Customize this offering for your team by including Integrated Development Environments (IDEs)
pull request を利用した開発ワークフローの話しですが、あんまりプルリの話ししてないし、コードレビュー的なお話しが多いです…。
先日とある方と開発ワークフローについてお話していて初めて知ったのですがgit-commitには--allow-emptyという空の(親コミットと差分がない)コミットを作成できるらしいですね。 僕が今関わっているプロジェクトでは WIP PR を用いたワークフローを取り入れているのですが、このgit commit --allow-emptyを用いるともう一段階快適なワークフローになるかと思ったのでメモがてら書き留めておきます。 WIP PR って何? Work In Progress Pull Request の略です。 Github に Pull Request (以下、PR と表記)という機能があるのは皆さんご存知だと思います(知らない方はググってください)し、業務で取り入れている方も多いと思いますが、それを作業途中の状態で出すことを WIP PR と呼びます。 作業途中のトピックブラン
これはGit Advent Calendar / Jun.20日目の記事です。前回は、fukajunさんの変更を一時的に退避!キメろgit stashでした。 この記事ではgithubでpull requestを送る時に私が気をつけていることを共有したいと思います。 私が気をつけていることは次の3つです。 masterにコミットしない 簡潔なコミットメッセージを書く コミットを1つにまとめる この話の前提 以降では、次の2つのリモートリポジトリが登録されている前提で説明します。 upstream: fork元のリポジトリ origin: upstreamからforkされた自分のリポジトリ masterにコミットしない 修正作業は必ず新しいブランチを作ってから行ない、masterブランチはあくまでupstreamの更新を取り込むためだけに使って下さい。 このルールを守らないでpull req
タグの付け方については、この記事の最後の方でちょろっと書いたけど、間違って付けちゃったりしたタグを消す方法がわからなくて調べたのでメモ。 前提 こうやって付けたタグを消したい場合の話。 $ git tag -a 0.2 -m 'hogehoge' $ git push --tags タグの消し方 git tagに-dオプションを付けて消した上で、GitHubのクローン用アドレスに向かってpushすると消せるみたい。 $ git tag -d 0.2 $ git push git@github.com:ruedap/hello-github.git :0.2 git remoteにoriginとしてGitHubが登録されているなら、わざわざアドレスを打たずにoriginでいける。 $ git remote heroku origin $ git tag -d 0.2 $ git push o
何か? git commitのオプション--allow-emptyご存知でしょうか? これは、オプションの名前の通り空のコミットの作成を許可するオプションです。 通常変更がないとコミットが作れないようになってるので 空コミットを作るにはこのオプションを指定する必要があります。 add(もしくはrm)もしない(stageに何も載せない)で commitしたときの注意文には登場するので知ってましたが使ってませんでした。 最近、開発フローの中で使い道を思いついて使うようになったので紹介です。 その1 空Pull Request作れる プルリクって、基準になるブランチから変更されたコミットがないと作れないと思ってます。 でも、変更はないんだけどプルリクのcommentに変更の「概要」「目的」「ビジネスインパクト」「どの数値が改善するのか」など色々さきに書いておきたいこととかありますね。 考えてる内
# masterブランチに移動 git checkout master # masterブランチを最新にする git pull origin master # 新しい作業ブランチを作成 git checkout -b new_branch # 空コミットを作る git commit --allow-empty -m "[WIP] 今回開発する内容を書く" # push git push origin new_branch この後、Githubの画面に行ってpull requestを送ります。 2.タスクを洗い出す Githubのプルリクエストにタスクを積みましょう。 下記のようにコメントすればチェックリストが作れます。
GitHubには Releases という機能があります。 Release Your Software Creating Releases · GitHub Help GitHubのリリース機能を使う - Qiita 簡単に言えば、gitのtagやbranchに文章や添付ファイルを追加して公開出来るページです。 基本的にはgit tagと連携してるので、tagを付けてgit push --tagsをしていれば、自動的に追加されます。 メリットとしては以下のような事が行えます。 git tagにパーマネントリンクがつく(重要!) メッセージ(リリースノート等)が書ける 添付ファイル(zip)をアップロード出来る(配布するバイナリとか) RSS Feedsが自動的に生成される(TagとReleaseの2種類がある) ライブラリ等にtagがついてると利用しやすい。 git tagとGitHub
私は GitHub が大好きです。GitHubはオープンソースへの コントリビューション (寄与貢献)を何十倍も容易に、そして楽しいものにしたと思います。ですが、GitHubがPull RequestというwebのUI形式で前面に押し出しているオープンソースの メンテナー のワークフローが、プロジェクト品質とコントリビューションを受けつけるスピードの弊害になるということに気がつきました。そこで、GitHubの Pull Request にある「Merge pull request」ボタンをクリックする前に、少しお話をさせてください。 メンテナーの紹介 ジェーンはそこそこの成功を収めているオープンソースプロジェクトのメンテナーです。彼女は毎週プロジェクトのGitHubリポジトリに上がる新しい Issue を確認し、リクエストに対し速やかにフィードバックを返します。リクエストをすべて実行する時
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く