clock-up-blog

go-mi-tech

Gitの話:不要になったコミットオブジェクトが削除される瞬間を観測する

Git Advent Calendar 2017 - Qiita 3日目

どこからも参照されなくなった(ブランチやタグ等に参照されなくなった)コミットオブジェクトはガベージコレクタの仕組みによりいつか削除されることになる。今回はその削除機構を即座に動作させてみる。

続きを読む

Gitの話:コミットオブジェクトは未来を知らない

Git Advent Calendar 2017 - Qiita 1日目

Gitのコミット構造に少し踏み込んだ話をします。Gitをある程度使ってみたことのある人向けの話です。

コミットオブジェクトは未来を知らない

Git のコミットオブジェクト群は後方参照 (backward reference) のハッシュチェーン構造により履歴の繋がりが管理されています。
f:id:kobake:20171202123833p:plain

続きを読む

AzureFunctions の影響で .NET Core プロジェクト作成失敗

環境

Visual Studio Community 2017 Version 15.4.4 にて。

エラー内容

.NET Core の Console App プロジェクトを新規作成しようとすると、
f:id:kobake:20171125222309p:plain:w800

以下のエラーが発生してプロジェクト作成ができない。
f:id:kobake:20171125222316p:plain:w400

The Visual Studio component cache is out of date (assembly: Microsoft.VisualStudio.Web.MicrosoftAzure.AzureFunctions, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a). Please restart Visual Studio.

続きを読む

[Git]rebase不要のコミット挿入(マージによる疑似挿入)

一般的に Git リポジトリをチーム運用している場合、master ブランチの履歴を書き換えるために rebase するようなことはできない(手元で rebase はできても push -f が禁止されている)ことが普通かと思います。

このような rebase の難しいブランチに対して「マージ」操作のみで過去履歴を挿入する(挿入されたように見せる)手法を紹介します。

続きを読む

Git コミットオブジェクトのサイズ測定

概要

Git コミットオブジェクトのサイズを測定する。

もう少し正確に言うと、Git のコミットオブジェクトをリモートリポジトリにプッシュする際に発生するデータ転送量を大まかに測定する。


リポジトリの移行時等、多くのコミットオブジェクトを転送する必要がある際等にはこういうスクリプトがあると重宝する(プッシュにかかる時間の予測目安になったりする)。

続きを読む
});