kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

GitHub

act: GitHub Actions のワークフローをローカル環境で実行する

GitHub Actions でワークフローを実行するときに git commit と git push を実行して GitHub Actions の実行を待つことがよくある.より迅速に実行して,結果を受け取るために「act」を使って GitHub Actions をローカル環境(コンテナ)で実行する仕組みを…

GitHub App「Pull Request Size」プルリクエストのサイズをラベル化しよう

GitHub App「Pull Request Size」を使うとプルリクエストの差分量から "サイズを意味する" ラベルを付けてくれて便利❗️やってることは単純だけど「このプルリクエストは大きすぎるな〜」という判断材料にも使える.個人アカウントなら無料なのも嬉しい✌️ git…

GitHub Actions の「ワークフローの再利用」をプライベートリポジトリで使う

2022年12月のリリースで GitHub Actions の「reusable workflow(ワークフローの再利用)」をプライベートリポジトリでも使えるようになった❗️特に会社でプライベートリポジトリを使っている場合に便利で待望のアップデートだと思う.今まではプライベートリ…

2022年のプルリクエストを振り返る

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2022年は「計6件」だった.2020年頃から件数は停滞している.今の仕事だとコードを書いて OSS にコントリビュートする機会はほとんどなく,貢献できていないことに残念さは感じる.プ…

GitHub の「エクスポート機能」でデータをバックアップする

GitHub にはアカウントデータを取得する「エクスポート機能」がある.リポジトリ情報だけではなく,issue 情報(コメント含む)やプルリクエスト情報(コメント含む)などもエクスポートできる.2018年12月にリリースされた機能だけど実は今まで使ったことが…

使いたい API がきっと見つかる!public-apis リポジトリ

フロントエンドのプロトタイプ実装をするときや API を使ったアプリケーションを実装するときなど「ササッと使える API があると便利なんだけどー!」という場面はよくある!本当によくある.今回紹介する GitHub の public-apis リポジトリは,2022年8月時…

Software Design 2022年4月号の特集「本質から学ぶ Git」を読んだ

「Software Design 2022年4月号」を読んだ.本誌の第2特集「堂々と使える!人に教えられる!本質から学ぶ Git」に寄稿をされた id:syobochim に献本(ギフトコード)をもらったので第2特集を中心にまとめる.献本ありがとうございます! Software Design (ソ…

GitHub の "Co-authored-by" をモブプログラミングに使う

GitHub の Co-authored-by(複数人によって実装されたコミットであることを表現する)を試した.OSS リポジトリのコミットログを眺めているときにたまーに見かけることはあったけど,今まで意識して使ったことはなかった.詳しくは以下のドキュメントとブロ…

2021年のプルリクエストを振り返る

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2021年は「計4件」だった.コードを書く機会がとにかく減っていることに関係するけど,2020年と同じ件数だった.プライベートリポジトリには毎週のようにコミットをしているため,Git…

GitHub Actions で Re:VIEW プロジェクトをビルドする

最近 Pandoc 以外の選択肢として Re:VIEW を試している.ビルドを自動化するために GitHub Actions で Re:VIEW プロジェクトをビルドできるように設定してみた.今回は vvakame/review Docker Image を使うことにした.検証日時点で最新となる Re:VIEW v5.1 …

GRC (git-remote-codecommit) をサポートした ghq v1.2.0 を試した

Git リポジトリを操作するために使っている ghq が,2021年5月にリリースされた v1.2.0(bugfix も含めると v1.2.1)で AWS CodeCommit の HTTPS GRC (git-remote-codecommit) をサポートしていた.さっそく動作確認をしてみた! github.com brew upgrade gh…

git worktree コマンドを使って複数ブランチを並行して操作する

個人で使っている Git リポジトリ(GitHub リポジトリ)の中に「複数ブランチを並行して操作する頻度が高いリポジトリ」がある.例えば,以下のように「4個」のブランチがあり,どれも操作する可能性がある場合など.今までは頻繁にコミット(git commit コ…

GitHub リポジトリのスター数を時系列グラフとして取得できる「starcharts」

「starcharts」を使うと GitHub リポジトリの「スター数⭐」を時系列グラフ(SVG フォーマット)として取得できる.GitHub リポジトリの README.md に載せることもできて便利! github.com kakakakakku/redash-hands-on を例にすると 「starcharts」の URL (s…

ghq で「複数の root ディレクトリ」からリポジトリを探す

ghq は「複数の root 設定」に対応している.例えば GitHub と CodeCommit と ${GOROOT}/src など,それぞれのディレクトリを対象に ghq list コマンドでリポジトリを探せる(個人的には ghq list + peco).最高すぎる!設定自体は gitconfig (~/.gitconfig…

2020年のプルリクエストを振り返る

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2019年と比較すると,2020年は大きく減って「計4件」だった.GitHub は毎日のように使っているし,多くあるプライベートリポジトリに定期的にコミットもしているけど,OSS への貢献に…

よく使う "hub" コマンドを調べて "gh" コマンドに移行した

最近まで GitHub リポジトリを操作するときに ghq コマンドと hub コマンドを使っていた.リポジトリを git clone したり ~/ghq 直下のディレクトリに移動する場合に ghq コマンドと peco を使って,その他の操作は hub コマンドと git コマンドを使っていた…

gibo コマンドを使って .gitignore のテンプレートを簡単に作成する

ブログに載せるサンプルコードを管理したり,仕事でプロトタイプを実装することが多かったり,とにかく Git リポジトリを新しく作る機会が多くある.そのときに毎回似たような .gitignore を作ることになり,面倒だった.共通的な設定はホームディレクトリの…

GitHub Actions と hadolint を組み合わせて Dockerfile の静的解析を自動化しよう!

GitHub Actions と hadolint (Haskell Dockerfile Linter) を組み合わせて,今まで雑に実装してきた Dockerfile の静的解析を自動化する環境を作った.できる限り Dockerfile Best Practices を意識していることもあり,警告はあまり多く出なかったけど,や…

GitHub Actions に入門するなら GitHub Learning Lab の Hello World コースを受講しよう

GitHub を学ぶときに「GitHub Learning Lab」を使うと便利!という紹介記事を6月に書いた.最近 GitHub Actions を使う機会があり,入門するために「GitHub Learning Lab」の「GitHub Actions: Hello World」コースを受講した.今回も非常に良かった! kakak…

Bot と一緒にインタラクティブに GitHub を学べる GitHub Learning Lab は素晴らしい学習体験だった

新しく技術を学ぶときに「どんな第一歩」を踏み出すか.僕は「体系的に学ぶ」ことが好きで,技術書を読むことが多い.全体感を把握することで安心できる性格であることも関係していると思う.さらに「実際に体験する」ことも好きで「学習コンテンツ」をよく…

Dependabot の config.yml に「Automatic PR merging」を設定する

Dependabot を使うと「依存パッケージ」の更新を自動化できる.対応言語も幅広く,個人的には JavaScript / Ruby / Python / Docker をよく使っている.最高に便利なんだけど,例えば JavaScript などはリリース頻度が高く,すぐにプルリクエストが溜まって…

モノリポ時代に知っておくと便利な「git sparse-checkout」

今まで使っていなかった Git コマンドを学んでいく.今回は git sparse-checkout を試す. git-scm.com git sparse-checkout とは? コマンド名にある sparse は「わずかな」という意味で,Git リポジトリの「一部」を取得できる.git clone --depth を使っ…

リモートモブプログラミングで Git Handover をシュッと実現する「mob」コマンド

「モブプログラミング」を採用すると「全員で同じタスクに取り組む (WIP 1)」ため,複雑な Git ブランチ戦略は必要なくなる.例えば master ブランチと develop ブランチだけで運用することもできる.今回紹介する mob コマンドを使うと,モブセッションで繰…

git diff の結果を HTML に変換する「diff2html-cli」

最近 git diff の結果を GitHub プルリクエストのようなインタフェース (HTML) に変換する必要があった.既にツールがあるだろうと思って調べたところ「diff2html-cli」を使えば git diff の結果を HTML に変換できるとわかった.今回は diff2html-cli を紹…

「ghq handbook」を読んで ghq を使った最高のリポジトリ管理を体験しよう

2020年1月に Leanpub で出版された「ghq handbook」を読んだ.本書は Leanpub で $4.99 から購入できる. leanpub.com リポジトリ管理を楽にするコマンドラインツール ghq 自体は前から知っていたけど,今までの運用(特定のディレクトリ直下にひたすら git …

Git リポジトリ URL を書き換える git-config の設定 "insteadOf" と "pushInsteadOf"

git-config(~/.gitconfig など)に url.<base>.insteadOf もしくは url.<base>.pushInsteadOf を設定すると,Git リポジトリ URL(プロトコル含む)を書き換えることができる.例えば GitHub リポジトリを git pull するときは HTTPS URL を強制し,git push するときは</base></base>…

2019年(7-12月)のプルリクエストを振り返る

OSS に送ったプルリクエストを振り返ろうと思う.プルリクエストの振り返りは2016年からしているけど,2019年は前半に多く送った背景もあり,既に「2019年(1-6月)」の期間で記事を書いている.今回は後半として「2019年(7-12月)」を振り返ろうと思う.後半の…

includeIf を使って git config をプロジェクトごとに読み替える

GitHub と AWS CodeCommit を併用したり,プロジェクトごとに別アカウントを使ったり,リポジトリごとに git config を変える場面もある.今までは個人用 GitHub を global 設定とし,別アカウントはリポジトリごとに git config --local コマンドで設定をし…

2019年(1-6月)のプルリクエストを振り返る

2016年から OSS に送ったプルリクエストを振り返る記事を書いている.今までは毎年年末に振り返っていたけど,今年は既にプルリクエストの件数が多いため,2019年(1-6月)の期間で振り返ることにした.過去の振り返りは以下にある.そして,2019年(1-6月)で「…

WIP プルリクエストの誤った merge を避ける GitHub Apps「WIP」と GitHub 新機能「Draft pull requests」

チーム開発をしていると,プルリクエストを WIP (Work In Progress) として送る場面は多くある.例えば,コードを書く前に設計相談をしたり,レビュー依頼をする前にパッケージ構成など全体感を相談したり,プロトタイプなどを一時的に公開することもある.…