git

Rubyやgit-gsubを使って正規表現で複数行を置換する

150個を超える *.tf をまとめて編集する方法を調べたので、備忘録としてまとめておく。 経緯 Terraformのコードを複数ファイルにすべきか、それとも1つのファイルにすべきか難しいな。hclをパースして、hclを書くプログラムを書いた方が良いのかなぁ...— 神…

手元にあるパッチの一覧を確認するシェルスクリプト

git

ブログに書いていなかったことに気づいたので、残しておく。 モチベーション OSSや仕事のコードを修正してるときに「まだ動作確認ができていない」「コミットメッセージの説明が不十分」なコミットが手元に溜まることがある。 このパッチの一覧を確認するた…

GitHubのPull Requestでコミットメッセージの文字数を調べる

GitHubのPull Requestで各コミットメッセージの文字数や変更行数を取得する方法を調べたのでまとめておく。 GraphQL APIで取得できたので、雑にcsv形式にして出力した。 stat-commit-messages.sh #!/bin/bash set -eu OWNER=${1:-rails} NAME=${2:-rails} NU…

git-notesでコミットにメモをつける

git

2020年に「コミットログは良くならない」というのを悟ったので、現実的な解決案である「git-notesでメモを残す」について記事を書いておきます。 前回の記事 sinsoku.hatenablog.com git-notes 詳細は git notes --help を読んでください。 概要は以下の通り…

Gitのプルリク(ブランチ)単位でログを追う方法

git

過去に「よいコミットメッセージとは」みたいな記事を書いたこともある。 sinsoku.hatenablog.com なぜコミットメッセージは良くならないのか どうしたらGitのコミットメッセージが良くなるか考えてみたけど、 他人に期待するには無理がある という結論に至…

仕事でGitのコミットメッセージをちゃんと書けているか?ゲーム

git

仕事のコミットメッセージは雑になっていることが多い。 それを解決する方法を考えていたらふと思いついたので、ブログに書いておく。 基本ルール 後述するコマンドでGitのコミットを 5つ 取得する git show コマンドでコミットのログとdiffを表示する その…

Gitの書籍に出てこないようなGitの使い方を2つ紹介

git

Twitterの140文字だと説明しづらいので、ブログに書く。 ケース1: 過去のコミットを部分的に戻す 概要 a001から分岐してb001-003まで3つコミットをした後、b001のコミットを修正したいケース。 よくある方法 git rebase -i を使って、b001のコミットを edit …

Gitで更新頻度の高いファイルを見つける方法

git

リポジトリ内のファイルごとのcommit頻度を可視化出来たらよく改修されてるポイントが分かってなんか良いかなとか思ったけどそういうツールあるかな— ごまちゃんさん (@gomachan46) January 29, 2019 というツイートを見かけて、ブログの下書きに眠っていた…

IP制限かかっている GitHub Enterprise のリポジトリを git clone する方法

git

IP制限かかっている GitHub Enterprise のリポジトリを IP制限に穴を開けない で git clone する方法です。 ただ、コマンドを実行する PC は GitHub Enterprise にアクセスできる必要はあります。 $ ssh-add ~/.ssh/id_rsa $ ssh -R 1234:ghe.foo.com:22 -A …

git-worktree を使って時間のかかる処理を別の作業ディレクトリで行う

git

時間のかかる処理の実行中、別の作業を進められるようにする方法。備忘録。 時間のかかる処理の例 テストの実行中 デプロイの実行中 など。 git-worktree を使う 簡単に作業ディレクトリを増やせる。 $ cd ~/works/app $ git worktree add ~/works/app_deplo…

Git を少しでも高速、安全に使う方法を紹介

git

はてブを眺めてたら、なんか Git の記事がバズってたので、便乗して Git の話を書いてみた。 Oh, shit, git! http://ohshitgit.com/ 「Oh shit, git!」を簡単に和訳してみた。(追記あり) - Qiita https://qiita.com/KaminoHiroki/items/391fb421e94e82c00128…

Git のブランチには説明をつけることができる

git

このツイートの通りです。 git branch --edit-description [<branchname>] でブランチにメモが付けられる!そして、 git config branch.<branchname>.description で表示できる!使い所は知らない! https://t.co/xt2P7MdUYa— 神速@リリカルエンジニア (@sinsoku_listy) 2017年9月12</branchname></branchname>…

fork 元のリポジトリを定期的に fetch して、自分のリポジトリに同期するシェルスクリプト

GitHub で fork したリポジトリで作業して、 fork 元に Pull Request を出すようなワークフローを使っている人向け。 特にお仕事とかで複数人で Pull Request を使うときに便利。 コード 下記のファイルを PATH の通った場所に置いて、作業ディレクトリで実…

Git のエイリアスで引数を使う方法

git

備忘録。 参考ページ rcmdnk.github.io コード 例えば、先日のブログに書いた「Pull Request を簡単にチェックアウトするコマンド」をエイリアスにするとこんな感じ。 [alias] ft-pr = "!f(){ git fetch origin pull/$1/head:pr_$1;};f"

GitHubのPull Requestを簡単にチェックアウトするたった1つの方法

みんな知ってるものだと思ったけど、あまり周りで知ってる人がいなかったのでブログに書いた。 こういう釣りタイトルっぽいブログ、一度書いてみたかった。 参考 Checking out pull requests locally - User Documentation 参考というか、そのままだけど。 …

もくもく会で久しぶりにLTで話してみた

第2回【フリースタイル】もくもく会 http://connpass.com/event/11866/ でLTしてきました。 LT_Gitのfast fowardと継続的デリバリー from sinsoku listy あとがき 正直、LTの5分じゃ時間が足りなかった KeepFFでバッジは使えるけど、他の作りたい機能は…

gitのログでGitHubの絵文字を表示する

そもそもlessが絵文字(unicode)に対応していない 画像(png)をコンソールに表示できない などの制約で、GitHubで使える全ての絵文字は変換できなかった。 Macの絵文字に対応したのがある場合だけは表示できればいいや。 ぐらいの人向け。 やり方 まず、PATHの…

GitHubのステータスをblink(1)で通知する

以前に、Jenkinsのビルド結果をblink(1)で通知する って事をやっていたけど、最近はJenkinsを使わないケースも増えてきたので、github/hubを使い、GitHubのステータスでblink(1)を光らせるようにした。 スクリプト #!/bin/sh while : do date git fetch orig…

gitでブランチから辿れないcommitやblobを探し出す方法

git

いつも忘れるので、備忘録として書いとく。 特に、addしたけどreset --hardで消した時にいつも忘れる。 ブランチから辿れないobjectを表示する方法 fsck --lost-foundで一覧を表示できる。 $ git fsck --lost-found Checking object directories: 100% (256/…

gitでタグ名に日付を含めているのはダサい

git

この記事は私の考えるタグの使い方なので、もし間違っている事や反論のある方は ぜひコメントやブログを書いてください。読みます! タグを打つ意味 そもそも、なぜgitでタグを打つのか? これは下記のような理由だと思う。 sha1でコミュニケーションするの…

面倒くさいsvnリポジトリをgit-svnで扱う時に役立ちそうなオプション一覧

最近は分散バージョン管理が主流になり、gitやhgを使う事が増えてきたと思う。 ただ、政治的な事情でsvnを使わなければならない事もあります。 そんな時に役立ちそうなgit-svnのオプションを備忘録として一覧にしておきます。 標準ディレクトリ構成のリポジ…

Pull Requestにfast-forwardの状態を表示してみた

前々から欲しいと思ってたけど、要望を送ってもgithubに実装されなかった*1ので、自分で作った。 プログラマなら無いなら、作ればいい。 github sinsoku/fastforward_badge userscripts.org http://userscripts.org/scripts/show/183136 動作環境 ChromeのTa…

GithubでPull Requestは絶対消せない。ヤバい\(^o^)/オワタ

git

先日、初めて知ったのですが、GithubのプルリクをCloseは出来ても、削除は出来ない。(*1) 普段使う上では困らないのですが、パスワードなどの公開すべきでない情報がプルリクに含まれると、結構ヤバい事になる。 結論 結論を先に書くと「リポジトリを作り直…

Travis CI からHerokuへのデプロイを自動化してみた 2

以前、Travis CI からHerokuへのデプロイを自動化してみた でafter_successを使ってデプロイを自動化してたけど、実は公式にdeployの設定があったらしい。 参考ページ Travis CI: Heroku Deployment http://about.travis-ci.org/docs/user/deployment/heroku…

Heroku で Postgres を使おうとして"Invalid DATABASE_URL"のエラーになった

以前はDATABASE_URLが自動で設定されていた気がしたけど、今回はなぜか設定されていなかった。 $ herkou pg:promote でDATABASE_URLが設定されるみたい。

Travis CI からHerokuへのデプロイを自動化してみた

2013.09.07 追記: keys:clear -> keys:remove に修正 Travis CI でテストを自動化したなら、デプロイも自動化したい。 という訳で、自動化してみた。 参考にしたページ Deploying to Heroku with Travis CI | Neil Middleton http://www.neilmiddleton.com/d…