programing

git AuthorDate가 CommitDate와 다른 이유는 무엇입니까?

sourcetip 2023. 9. 9. 22:40
반응형

git AuthorDate가 CommitDate와 다른 이유는 무엇입니까?

git 로그를 찾아보니 AuthorDate와 CommitDate가 일부 커밋에 약간 다릅니다.From thegit log --pretty=fuller출력:

commit 3a5912f90dc5227f308e99f95152fbee2301c59a
Author:     <hidden>
AuthorDate: Fri Jun 15 10:57:22 2012 +0800
Commit:     <hidden>
CommitDate: Fri Jun 15 11:14:37 2012 +0800

작성자와 약속은 같습니다(나).

어떻게 이런 일이 일어날까요?저는 며칠째 어리둥절해 하고 있습니다.

이 외에도 341개의 커밋 중 17개의 커밋에서 발생했습니다.

+------------------------------+-------------------------------+
| from_unixtime(authored_date) | from_unixtime(committed_date) |
+------------------------------+-------------------------------+
| 2012-06-15 10:57:22          | 2012-06-15 11:14:37           |
| 2012-06-15 14:39:54          | 2012-06-15 14:48:57           |
| 2012-06-19 12:28:21          | 2012-06-19 12:29:41           |
| 2012-06-21 18:16:25          | 2012-06-21 18:28:48           |
| 2012-06-26 17:30:54          | 2012-06-26 17:33:55           |
| 2012-07-13 11:41:43          | 2012-07-13 11:42:17           |
| 2012-07-13 11:56:02          | 2012-07-13 12:13:22           |
| 2012-07-13 12:05:09          | 2012-07-13 12:12:24           |
| 2012-07-12 18:38:49          | 2012-07-13 12:26:35           |
| 2012-07-13 11:00:47          | 2012-07-13 12:25:15           |
| 2012-07-16 14:10:54          | 2012-07-16 14:15:01           |
| 2012-07-13 12:56:51          | 2012-07-16 13:49:48           |
| 2012-07-16 14:10:54          | 2012-07-16 14:19:46           |
| 2012-07-24 16:05:05          | 2012-07-24 16:05:48           |
| 2012-07-24 17:42:58          | 2012-07-24 17:43:33           |
| 2012-07-24 17:42:58          | 2012-07-24 17:45:18           |
| 2012-07-26 16:55:40          | 2012-07-26 16:55:53           |
+------------------------------+-------------------------------+

작성자 날짜는 이 커밋이 원래 언제 이루어졌는지(즉, 완료된 날짜)를 기록합니다.git commit의 문서에 따르면 작성자 날짜는 다음을 사용하여 무시할 수 있습니다.--date스위치를 바꾸다

커밋 날짜는 커밋이 있는 분기를 다른 분기에 재배치할 때와 같이 커밋이 수정될 때마다 변경됩니다.

패치를 다른 레포에 적용하기 위해 커밋을 하고 패치를 다른 레포에 전송하는 경우에도 동일한 일이 발생할 수 있습니다. 작성자 날짜는 작성자의 날짜가 됩니다.git commit, 커밋 날짜는 패치가 다른 레포에 적용될 때 해당 날짜로 설정됩니다.

만약 당신이 두 명의 동료에게 패치를 보낸다면, 작성자 날짜는 하나이고, 약속 날짜는 두 개입니다.

이 내용은 깃북에도 언급되어 있습니다.

작가와 커미터차이점이 무엇인지 궁금할 것입니다.작성자는 원래 패치를 작성한 사람이고, 작성자는 패치를 마지막으로 적용한 사람입니다.따라서 프로젝트에 패치를 전송하고 핵심 구성원 중 한 명이 패치를 적용하면 작성자와 핵심 구성원이 모두 인정을 받습니다.

커밋의 작성자 날짜는 리베이스/체리픽 등에 보존됩니다.그러나 커밋 날짜가 변경되었습니다.

github에서 commit time을 보여준 상황이 우연히 발생했습니다.git log저는 이게 깃허브의 버그라고 생각했습니다.

깃허브가 보여주는 것은CommitDate그리고.git log을 보여줍니다.AuthorDate(이외의 경우)fuller기).

다른 지점에서 커밋 두 개를 선택했기 때문에 발생한 일입니다.할 때와 마찬가지로 커밋 타임스탬프를 체리 선택하는 동안commit --append.

rebase제 경우에는 약속 날짜를 유지했습니다.

또한 AuthorDate와 CommitDate ingit 로그 사용을 확인합니다.--format=fuller 문서

언급URL : https://stackoverflow.com/questions/11856983/why-is-git-authordate-different-from-commitdate

반응형