私はこのGitHubリポジトリでこれを見ています:
これは何を意味するのでしょうか?どうすれば「7日前に作成」し、「14時間前にコミット」できますか?
commit --date=
ます。シュヴェルンは非常にうまく説明しています。
私はこのGitHubリポジトリでこれを見ています:
これは何を意味するのでしょうか?どうすれば「7日前に作成」し、「14時間前にコミット」できますか?
commit --date=
ます。シュヴェルンは非常にうまく説明しています。
回答:
Gitには、作成者(コードを書いた人)とコミッター(リポジトリにコミットした人)という別の概念があります。同様に、両方に異なる日付が存在する場合があります。それらは通常同じです。
パッチの提出にメーリングリストを使用するプロジェクトのように、コードを書いたりパッチを提出した人がリポジトリへのプッシュアクセスを持っていない場合、主にそれらを異なるものにしたいでしょう。この場合、プッシュアクセス権を持つ人はパッチを適用しgit commit
、--author
and --date
スイッチまたはGIT_AUTHOR_NAME、GIT_AUTHOR_EMAILおよびGIT_AUTHOR_DATE環境変数(git-commit-treeに文書化されています)を使用して実行します。
もう1つのケースは、使用git cherry-pick
またはgit rebaseです。コミッターはチェリーピックを行う人であり、著者は元のコミットの著者です。Gitは、作成者のIDと日付の設定を処理します。
リポジトリでこの情報を見ることができますgit log --pretty=fuller
。
commit 21550561941b078ea1862b882ec89f26696ff5bb (HEAD, origin/master, origin/HEAD, master)
Author: thiagopnts <thiagopnts@gmail.com>
AuthorDate: Tue Nov 18 14:52:49 2014 -0200
Commit: Thiago Pontes <email@thiago.me>
CommitDate: Tue Nov 25 09:46:58 2014 -0200
open repository url if confirmed, closes #1
git rebase
また、作成者の日付は同じままでコミット日付が更新されます。
これは、Gitが日付でどのように機能するかと、GitHubの終了キーワードでどのように参照されるかが混在しているように見えます。
Gitはコミット日と作成日を区別します。でプロGitの 彼らは違いに少し行きます:
作者は最初に作品を書いた人であり、コミッターはその作品を最後に適用した人です。そのため、パッチをプロジェクトに送信し、コアメンバーの1人がパッチを適用すると、両方がクレジットを取得します。つまり、作成者としてのコアメンバーとコミッターとしてのコアメンバーです。
そのため、コード自体は「ローカルで」「7日前」にコミット/記述されましたが、「14時間前」までコードに「適用」またはパッチ適用されませんでした。メッセージ。