kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

Git

git checkout の代替としてリリースされた git switch と git restore

Git

2019年8月にリリースされた Git 2.23 から,Experimental(実験的機能)として新コマンド git switch と git restore が使える.今までずっと使ってきた git checkout は機能が多すぎたため,機能を分割し git checkout の代替としてリリースされた.個人的…

「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>…

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

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

知っておくと便利な git clone --depth と git diff --indent-heuristic

コミット履歴が無駄に多く,黒歴史のある Git リポジトリで開発をする場合,初回の git clone が非常に遅いという問題がある.コミット数に依存せずに素早く落とせる方法を探していて,最近(今さら...!) git clone の --depth オプションのことを知った.…

Git で特定のブランチからファイルをコピーする

今日は Git コマンドの奥深さを感じた! 結構 Git には詳しい方だと自負していたけど,全然知らないことあるなーと痛感した. git show git show で「特定のブランチにあるファイル」や「特定のコミットでのファイル」を見ることができる.コロンを忘れずに…

ブランチを最新コミット順に並べたら幸せになれた

複数のブランチで並行開発をしていると,気付いたらブランチが増えてしまってることがよくある. ブランチを切り替えようとしたときに「どのブランチだっけ?」って考えてしまったり. 定期的にブランチを削除するようにしてるけど,開発に忙殺されているフ…