git
課題 ファイル一覧の抽出については--name-onlyを使うのはよく知られているテクニックです。 例えば以下では、一週間前からコミットされたファイルを抽出しています。しかし、コミットハッシュやコミットメッセージは不要です。どうしたものでしょう。 $ git…
commitを綺麗にするのにgit commit --fixupとgit rebase --autosquashが便利というエントリを以前に書きました。 一方で、commitを整理するというユースケースにおいて一番使っているのはgit commit --amendです。 このブログを書く時なんかはほぼこちらしか…
Golangのツールをチームで開発しているのですが、Merge Requestをmergeする度にgo.sumとのconflictが発生する。つらい。 実のところは「つらすぎる」というほどつらくはないのですが、毎回conflict markerの<<<<<<<を消していく作業で人生を浪費するのはつら…
Pull Request(PR)やMerge Request(MR)を作る中で、コミット履歴はできるだけ綺麗にしておきたいものです。 プルリクエストについて - GitHub Docs Merge requests | GitLab ぼくはあまりコミット履歴の綺麗さを気にしない方でした。 しかし大きめのPRやMRを…
git rm -rをスクリプトに組み込む中で、「このディレクトリが存在するかはスクリプト実行時にしかわからない」というケースがありました。 git rmは対象のファイルやディレクトリがない場合、エラーを返却します。これは-fを付与した時も変わりません。 $ gi…
Git を用いて、特定日時以降に更新されたファイルの一覧を取得したい要件がありました。 これを素直に取得する方法がなさそうだったので、以下のようにして代用しています。 $ git log --after 2020/07/01 --name-only --pretty=oneline --full-index | grep…
VCS を使ったときのメリットは多々ありますが、そのうちの一つは、いつでも修正内容をもとに戻せることだと思います。 ローカルで修正した内容をもとに戻したい git checkout git restore 直前の commit の内容を変更したい commit を取り消したい git reset…