質問

ただすべての犯発生したとか?にSVN、次のように

svn diff -r{date}:{date}

にしてもらいましょう!ないのですが見Gitと同等です。

具体的にはうって文章を書くのスクリプトへの送付の日常のメールはすべてのコードを犯その日によります。

役に立ちましたか?

解決

あなたが使用することができgit whatchanged --since="1 day ago" -p

また--until引数を取ります。

ドキュメント

他のヒント

前回提案して問題点がありました。基本といたしが探していたものと同等の cvs diff -D"1 day ago" -D"2010-02-29 11:11".を収集する情報、さらには解決策です。

私た:

  • git whatchanged --since="1 day ago" -p から こちらの

    ここのdiffのための各コミットも複数ある場合は為の一つのファイルです。知っている "日付"の"スポーツは世界共通ルールなのでゆったりコンセプトgit, 思ったことがある方もよろしくお願いします。

  • git diff 'master@{1 day ago}..master あ警告 warning: Log for 'master' only goes back to Tue, 16 Mar 2010 14:17:32 +0100. しない全ての負荷を.

  • git format-patch --since=yesterday --stdout いませんでした。

  • revs=$(git log --pretty="format:%H" --since="1 day ago");git diff $(echo "$revs"|tail -n1) $(echo "$revs"|head -n1) 作品がなんだかもう複雑な制限の電流ます。

最後に:

所狭しと配置さ,git-cvsserver対応していないcvs diff-D"なしで記録されど).

「日付」はgitで緩い概念のビットです。誰かが実際に引く前に、過去にもいくつかの時間であってもよい著者の日付を持っていますコミット/も明らかに新しいコミットの上にあることをリベースして更新することができるコミット、そのリポジトリにコミットコミットします。

Aもコミットが何らかの方法でリベースまたは改正された場合に更新されるコミットの日付を持ってコミットします。これらのコミットは、年代順のいくつかの並べ替えである可能性が高いですが、あなたは自分のコンピュータに設定された正確な時間を持つコミッターのなすがままに残っていると、そうであっても、変更されていないが、前に無期限にリモートリポジトリに機能ブランチの上に座ることができますコミット中央リポジトリのmasterブランチにマージされます。

何おそらくあなたの目的のために最も有用であることは問題の特定のリポジトリにREFLOG日です。あなたは(git config core.logAllRefUpdatesを参照)が有効ごとのブランチreflogsを持っているなら、あなたは分岐が特定の時間にあった場所を参照するためにref@{date}構文を使用することができます。

例えばます。

git log -p master@{2009-07-01}..master@{now}

また、同様に 'ファジー' の記述を使用することができます:

git log -p "master@{1 month ago}..master@{yesterday}"

これらのコマンドは関係なく、彼らが実際に彼らの著者によると日付をコミットする方法を「古い」のリポジトリの特定のブランチに「登場」したすべてのコミットを表示します。

あなたはクローン上のログコマンドを実行している、とあなたは月に(例えば)のために引っ張っていないので、もしその後、先月のためにすべての変更を引っ張って、あたりの分岐REFLOGがリポジトリに固有であることに注意してください一度、その後、先月のすべての変更は、@{1 hour ago}..@{now}の範囲で表示されます。あなたは、人々がにプッシュ「中央」repostoryのログコマンドを実行できる場合、それはあなたがやりたいことがあります。

git diff --stat @{2013-11-01}..@{2013-11-30}

または

git diff --stat @{2.weeks.ago}..@{last.week}

おそらく

$ git format-patch --committer=<who> --since=yesterday --stdout

あなたが(または '--stdout' なし)何をしたいのですか?

私は一般的なソリューションを使用することであると考えています:

git rev-list -n1 --first-parent --until=<a date string> <a ref>

--first-親がなければ、後でa refにマージされましたが、a date stringのようマージされていなかったブランチからコミットし得る可能性があります。

ここでは代わりに--childrengrep-n1を使用する代替です。

mlm_git_ref_as_of() {
    # # Examples #
    #
    # Show all commits between two dates:
    #
    #     git log $(mlm_git_ref_as_of '2012-05-21 09:00:00-0400')..$(mlm_git_ref_as_of '2012-05-21 17:00:00-0400')
    #
    # Show diffs of all commits between two dates:
    #
    #     git diff $(mlm_git_ref_as_of '2012-05-21 09:00:00-0400')..$(mlm_git_ref_as_of '2012-05-21 17:00:00-0400')
    local as_of="$1"
    local ref="${2:-HEAD}"
    # Get the most recent commit (--children, grep -v ' ') that was on
    # the given branch ($ref, --first-parent) as of a given date
    # ($as_of)
    git rev-list --children --first-parent --until="$as_of" "$ref" | grep -v ' '
}

私はこのQ&Aを読む前にgit whatchangedに慣れていなかったが、それは私にとって非常に異なる結果を与えるので、私はそれがやっているかわからないんだけど。

もう一つの簡単なるときのdiffの変化から一定の日である、最初のコミット X 発生した又はその期日以降は、その利用

git diff X

このことによって、潜在的に持てる力を十reflogエントリに新鮮なクローンとは異なり、

git diff <reference>@{n}..
git log <reference>@{n}..

ソリューション

これは面白い答えにあがります。このまですべてのコミットハッシュは、今でも当てはまります。

git log --pretty="format:%H %ai" | grep `date +"%Y-%m-%d"` | awk {'print $1'}`

;·)

また、のgit-フォーマットを使用することができますパッチ(差分)を作成し、電子メールを介してそれらを送信するために-patchするます。

コミット範囲を指定するオプション[以降]または[リビジョン範囲]を使用します。

私はそれを行う方法でスローされます: 日付のgit logは、現在のブランチのハッシュをコミットできます。その後、私はちょうど私にファイル別に集計し、適切な差を与えるgit diff 8fgdfg8..565k4l5のようなものを使用します。これは

ものの多くをテストしていません、お役に立てば幸いです

見るため、ファイルの変更日から日までにお支店以下の式:

  1. レジにおさい。
  2. プロジェクトを更新からの変更リモートリポジトリ
  3. 見diffファイルから日時範囲

例:

git checkout <branch>
git pull
git diff --stat @{fromDate}..@a{toDate}

注目の日に YYYY-MM-DD フォーマット:

git diff --stat @{2019-08-20}..@a{2019-08-21}

ただの観察 変化を特定のファイルの特定の時間範囲 (時計のdiffコード)は、ナビゲートの現在のファイル:

例:

git diff @{2019-01-01}..@{2019-01-02} ~/dev/myApp/package.json
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top