Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
git cococoとRailsアプリ開発
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuya.Nishida.
March 31, 2018
Technology
0
490
git cococoとRailsアプリ開発
git cococoの説明とRailsアプリケーション開発で使われる場面を説明します.
Yuya.Nishida.
March 31, 2018
Tweet
Share
More Decks by Yuya.Nishida.
See All by Yuya.Nishida.
削除操作 しない させない ゆるさない
nishidayuya
0
40
meeting about memo
nishidayuya
0
810
Useful Chef cookbooks
nishidayuya
0
56
Other Decks in Technology
See All in Technology
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
150
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
670
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
580
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
800
Webhook best practices for rock solid and resilient deployments
glaforge
1
290
配列に見る bash と zsh の違い
kazzpapa3
3
160
Context Engineeringの取り組み
nutslove
0
360
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
36k
Skip the Path - Find Your Career Trail
mkilby
0
57
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Art, The Web, and Tiny UX
lynnandtonic
304
21k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
97
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Design in an AI World
tapps
0
140
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
How to make the Groovebox
asonas
2
1.9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
Transcript
git cococoとRailsアプリ開発 西田雄也 2018-03-31 kunibiki.rb#7 Powered by Rabbit 2.2.1
自己紹介 西田雄也 Twitter,GitHub: @nishidayuya 趣味: 小さいものを書く スノーボード なんとかGo(昨年末にTL40) 1/16
git cococoっ てなに?
git cococoってなに? 実行したコマンドとともにコマンドによる変更をコミ ットするコマンド $ git cococo bundle update コマンド実行前にコミット漏れがないか確認
1. コマンド実行 2. 変更点をコミット もう一度同じことをするコミットメッセージとともに 3. 3/16
git cococoってなに? 実行したコマンドとともにコマンドによる変更をコミ ットするコマンド $ git cococo bundle update コマンド実行前にコミット漏れがないか確認
1. bundle updateを実行 2. 「run: git cococo bundle update」といったコ ミットメッセージで変更点をコミット 3. 4/16
もう一度同じことをするための コミットメッセージ コマンド実行はいいとしてコミットメッセージを 書くときにコピー&ペーストするの面倒. 毎回「どんな風に書いてたっけ…」って思いな がらgit logで調べて同じように書くの面倒. ↓ これを解決! 実行時に一回だけ書けば良い
コミットメッセージはコマンド任せ 5/16
動機 松江Ruby会議08のa_matsudaさんの話 「コード生成するコマンドを実行した場合は、そ のままコミットするのが望ましい。」 読みたいのは人間が書いた部分 コマンドでコード生成した部分は実行したコマンドがわ かればいい 6/16
デモ
デモ: Railsア プリケーショ ン開発でよく ある使い方
構成 git cococoはBourneシェルのシェルスクリプト 当初はRubyで実装していた. Windowsで動かしたくなった. mruby-cliもあるけど… Gitが動く環境にはBourneシェルあるいは互換のシェ ルがある. 自動試験はRubyで書いている. 単体テストとインテグレーションテスト
test-unitが試験を書きやすい. 9/16
設計 思想
設計思想: インストールが簡単 1ファイルのシェルスクリプトで実装してある. ダウンロードして実行パーミッションを与えるだ け. $ wget https://raw.githubusercontent.com/nishidayuya/git-cococo/master/exe/git-cococo $ chmod
a+x git-cococo $ mv git-cococo move-to-PATH-env-directory/ 11/16
設計思想: 動く環境はGit Gitが動作する全ての環境で動く(はず). はず… 全ての環境で試験できません! 次の環境でCIをまわしている. Ubuntu Windows MacOSX 動かないUnixあるいはUnix互換OSがあれば
教えてください&プルリクエスト歓迎です. 12/16
設計思想: 余計なことはしない 当初はコミット漏れがあれば自動的にgit stash することを考えていた. ↓ 使ってみたところコマンド実行に失敗したときに stashしたままになるが,自動的にやっちゃうと stashしたものが消えたように見える. 焦っているときは特に困る.
↓ --autostashオプションで明示的に指示する形 とした. 13/16
設計思想: Gitと合わせる(1) --autostashオプションについて 当初は--auto-stashというオプション名で考え ていた. ↓ git rebaseに--autostashオプションがあること に気がついて揃えた. 14/16
設計思想: Gitと合わせる(2) git cococoという名前について Gitにはgit rerereコマンドがある. REuse REcorded REsolutionの略 ↓
git cococo COmmit COmpletely COmmand outputの略 意味が合っている. 短い. 15/16
ご静聴ありがとうございました インストールは https://github.com/nishidayuya/git-cococo より 気に入ってくださったらスターとかいただけると 調子に乗ります 励みになります. 16/16 Powered by
Rabbit 2.2.1