日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

gitの2038年問題

32bit環境下でgitには、2038年問題が存在するようです


TortoiseGit
日時: 2038/01/19 12:14:07

シェルの場合
Date: Thu Jan 1 00:00:00 1970 +0000

になってしまうようです。

gitは 内部で、unix timeで保存されているのでしょうか?

なんと 2038/01/19 12:14:07 を超える日付は扱えないようです

16ビットOSが消えたように
あと15-20年後には32ビットOSは消滅していると思いますので心配しないで大丈夫です!!


2017.02.04

git rebase --onto 新しい親 比較元 新しい子

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details


コマンドに全角スペースが入っているとこのメッセージが出ます

コマンドラインに全角スペースが区切りとして混入していないか確認しましょう
2016.05.23

git ファイルタイムスタンプ通りにコミットする方法

方法
(1) 古い順に1個ずつコミットして、日時を更新
  1. 自動スクリプトで全部自動的に古い順にコミットを繰り返します
    コミット数が少ない場合は、1分で終わります。
    コメント欄に日時をいれれば簡単に書き換えできます
    スクリプトから日付が参照できる形ならなんでもOK
    (1) フォルダを全スキャンし、ファイルリストを作成します
    (2) 不要なものを除外します
    (3) 日付でリストをソートします
    (4) リストをループさせて、gid add , commitを繰り返します
         次のリストと日付が同じ場合、commitは次でするので出力しません。
         日付をコメントとして登録します
    (5) ファイルに書き出します
    (6) 問題がないか確認します。追加する行があれば追加します
    (7) 空のリポジトリを用意します
    (8) スクリプトを実行し、空のリポジトリに登録します
  2. ログを全部書き出します
    git log --all
  3. filter-branch 用の スクリプトファイルを用意します
    logファイルから、設定を抽出書き出します。
  4. 日時書き換え自動スクリプトで日時を自動的に書き換えます
    chmod +x path/to/script
    git filter-branch --env-filter 'source path/to/script'

手動で書き換える場合は、
git filter-branch --env-filter '
 if [ $GIT_COMMIT = "番号" ]; then
 export GIT_AUTHOR_DATE="変えたい日付"
 export GIT_COMMITTER_DATE="${GIT_AUTHOR_DATE}"
fi'

日付は
git log
または
php -nr " date_default_timezone_set('japan'); echo date(DateTime::RFC2822,strtotime('2015/1/1 0:0:0'));"

問題がなければ、バックアップを削除する
git show-ref | grep refs/original/refs/heads

git update-ref -d refs/original/refs/heads/master

コメントとして、日時をいれているので、移動してタイムスタンプがおかしくなった時もログからいつのかわかります。

方法 (2) dumpして書き換える

» 続きを読む

2015.11.25

git commit 時
コメントなしでコミットする方法

git commit --allow-empty-message -m ''
2015.11.25

git ローカルHDDのremoteが表示されない(TortoiseGit)


git remote add origin C:/パス/.git

Git gui では、きちんと表示されますが

TortoiseGitでは、
Linuxスタイルのローカル パスを
リポジトリブラウザ、ログなどで
認識しないようです。

/ではなく ¥ を使うと今度は、git コマンドの場合に誤動作しそう。

どちらをとるかですね。


原因は、Windows の VirtualStore 機能でした

2015.04.11



PR

[PR]