hack のためのネタ帳, etc,,,

バージョン管理ツール。
Linux のバージョン管理のために作成された。

ライセンス

GPL.

Tips

リポジトリの書き換え

git filter-branch 使うと commit 時の email とか時刻の書き換えが出来る(ただしリビジョン値が変わってしまう)。
参考:

オブジェクトのSHA1値

「blob ファイルサイズ\0ファイルの内容」の sha1sum を取れば良いらしい。
例えば hoge と言うファイルが git に登録された際の SHA1 値は以下のようにして求めることが出来る。
@(){ unset -f $FUNCNAME;(echo -en "blob $(stat -c%s "$1")\0";cat "$1")|sha1sum|cut -d" " -f1;};@ hoge
参考:
基本的に .git 以下を公開すれば良いらしく、通常は --bare 付けて作業ファイルなしで .git のみの状態にしておくらしい。
ただし HTTP 経由での取得に必要なファイルを更新しとく必要があるらしいので、以下のサブコマンドを実行しておく必要があるらしい。
git update-server-info
手動でやるのは面倒なので、通常は hooks/post-update 使って自動で上記のサブコマンドを実行するようにしておくと良いらしい。

参考:
commit 時に --date オプションで author date を指定出来る。
commit date は rebase 時に --committer-date-is-author-date を指定すると、author date に揃える事が出来る。

参考:
git difftool -d -x winmerge.sh
のようにすると dirdiff になるので便利らしい。

参考:
以下のコマンドラインが一番詳細かな?
git log --all --graph --color --pretty=fuller --decorate=full

memo

表記意味
<commit-ish>~<n>n代前の祖先
<commit-ish>^<n>1代前の祖先のn番目

参考:
タグ

コメントをかく


画像に記載されている文字を下のフォームに入力してください。

「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

編集にはIDが必要です