git diffで、特定のブランチでpull requestからマージした際の差分だけを取りたいなということがあったので、備忘で残しておく。

↓みたいな感じで、git merge-baseで前のcommitを取ってくればいいようだ。

git  --no-pager diff --name-only HEAD $(git merge-base HEAD HEAD^)

こんなんでできたのか〜、知らんかったな とい...


お仕事中、git diffの出力をフルパスで取得したいなぁということがあったので、いい感じのやり方無いかなと調べた結果。

↓みたいな感じで、--line-prefix オプションにgit rev-parseで取得したgitリポジトリのpathをくっつけてやればいいようだ。

git --no-pager diff --name-only --line-prefix=$(git rev-parse --show-t...

今年に入ってから自宅の環境を全部作り変えしたのだけど、その一環としてGithubのリポジトリをローカルのGitlab-CEにMirroringしてバックアップをする仕組みを取り入れてみた。

実はGitlabではGithub等とのMirroringの仕組み自体は用意されているのだが、残念ながらGitlab-CEではpushしか扱えない様になっている。 (Gitlab-EEではpush/pullどっちもできるのだが、Github-CEではpullができない(少なくとも、手元のGitlab-CE13.2.2ではダメ。))

流石に個人用に使ってるGitlabでEEを使うのはお財布的にちょっ...


なんかコロナで在宅になってたり、このBlogのシステムの移行したり、家のサーバ環境を一新したり、etc,etc...と色々やってたら、もう9月になってたことに気付いてちょっとビビった(´・ω・`)。

しばらく何も書けてなかったのだが流石にその間に忘れちゃってることも多いので、今月辺りからちゃんと残すようにしよう…。

最近は仕事の内容がインフラからWebサイトの診断とかそういうのがメインになってきてやることが結構変わって...


Twitterでそういった処理についてできるかどうかというのを見かけたので、実際どうなんだろと思って調べてみた。 結論としては、残念ながらgit単体では難しいみたいで、実現するにしても以下のように無理やりシェル芸で実現するとかになるようだ。

git clone git@github.com:blacknon/lssh.git && cd $(basename $_ .git) && git branch -r | grep -v '\->' | sed 's|origin/||g' | xargs -I@ -n1 git checkout -b @ origin/@

gitの利用状況をターミナルからTUIで確認できる『grv』

別件の調べ物をしていたところ、gitの利用状況をターミナルからTUIで確認できるという『grv』なるツールを見かけた。 Golangで書かれているようなのだが、コンパイルにはmake installをしてやる必要があるようだ。Linuxであればすでにコンパイル済の実行ファイルがあるので、以下のコマンドでダウンロード、インストールが行える。

wget -O grv https://github.com/rgburke/grv/releases/download/v0.1.2/grv_v0.1.2_linux64
chmod +x ./grv
./grv -repoFilePath /pa...