Git
例えば Node.js モジュールを書いていて、リポジトリ A と B があったとして、それをモノレポ C としてまとめたかったとします。 そういうときはファイルをコピーして新しいリポジトリに入れる方法もありますが、履歴を引き継いだ状態でやりたくなったので、…
GitHub Actions などで、ファイルを定期的に自動生成して、 commit & push する場面がちらほらあると思います。 そのとき、適当な外部の Action を使っても良いですが、そこまででもないな......というときのためのメモ。 自動生成して commit & push する場…
Windows だと diff コマンドがそもそも入っていなかったり、オリジナルの diff コマンドのパラメータ覚えてなかったりで、 git diff の形式で差分が見たいケースがあるとき。 そういうときは、次のようにすると何の関係の無いファイル同士でも差分が見られる…
Lefthook という Git Hook をうまいこと管理してくれる Golang 製ツールがあります。 メリットとしては、 Node.js に依存しない、つまりはランタイムが必要ないことがあげられ、また設定も lefthook.yml を記述するだけなので、簡単に使えるという特徴があり…
なんとなく git/git をソースからビルドしてデバッグすることになりました。 そして PR (最終的にはメーリングリストになげる) を投げつけたのですが、 CI が落ちてつらい。ドキュメントに無かったぞ。 ということで、 Windows で git のテストを実行する方…
なんとなく git/git をソースからビルドしてデバッグすることになりました。 README や Wiki が古かったりして、結構詰まったので、やり方。 まず、 Visual Studio 2022 (or 2019) で、 git/git をクローンした場所をフォルダーとして開きます。 開くと、「C…
例えば、何らかの理由でリポジトリのこのディレクトリ以下の部分だけ別リポジトリで管理したいな~!って場合のやり方。 履歴を引き継がなくてもいい場合はそのまま新しいリポジトリがある場所にコピーすれば良いんだけど、履歴も引き継ぎたい場合。 やり方…
たとえば以下のような操作をした後、もともといたブランチに行きたい場合: $ git symbolic-ref --short HEAD main $ git checkout sub-branch $ git symbolic-ref --short HEAD sub-branch 次のような操作を行うことで、元いたブランチ、今回の場合は main …
わたしは GPG 鍵は基本的には Keybase に管理を任せているのですが、 Keybase で管理している鍵で GitHub のタグに対して署名したかったので、その方法について。 まずは scoop 経由で gpg をインストールしておきます。 すでに入っている場合はスルーで OK…
Windows とか macOS とかで使う分には、ファイルシステム的に大文字小文字を無視しても良いんですが、 Linux だと大文字小文字は無視できない違いになります。 ただ、 Windows とかから大文字小文字だけを変えたものを commit しても認識されないので、それ…
みなさん Git LFS を使用していますか? わたしは VRChat のアバタープロジェクトをまるまる GitHub へあげているついでに、 Git LFS で 3D モデルやテクスチャーも状態を保存しています。 そこで困るのが、 GitHub のストレージ課金です。 50GB で 60USD/ye…
git status だとか git diff だとかで、たまに Git でトラッキングはしたいけども、 コマンド実行結果上は一時的に非表示にしたいファイルがあるときがあります。 そういうときは、 pathspec を指定することで、表示するファイルを制御することが可能です。 …
VRChat でアバターいじったりするのは良いのだけども、 バージョン管理されないのが怖いので Git を導入したのでそのログです。 基本的に、多くのファイルは Git LFS (Large File Storage) を使って管理することになります。 Git Large File Storage Git for…
Node.js を使って GitHub Pages を作るときなど、必然的に minify されたファイルや コンパイル済みファイル、バイナリファイルなどを commit する必要がある場合があります。 そういったとき、テキストデータとして表示可能な物は、 diff に表示されてしま…
git status しようとしたら、「fatal: index file smaller than expected」と怒られた。 原因は、多分仮想マシンが落ちたからだと思うけれど、直し方をメモしておきます。 以下作業ログ リポジトリディレクトリは ~/lepus とします。 $ git status fatal: in…