Development Tip

Git 로그에 오늘의 모든 커밋을 표시하는 방법은 무엇입니까?

yourdevel 2020. 10. 20. 08:15
반응형

Git 로그에 오늘의 모든 커밋을 표시하는 방법은 무엇입니까?


.NET을 사용하여 오늘 작성한 모든 커밋을보고 싶습니다 git log. 나는 생각해 냈다. git log --after="yesterday"
그러나 그것은 나에게 조금 어색해 보이는데, 동일한 효과를 얻기위한 더 간단한 명령이 있는가?


편집 : 이것은 허용 된 답변이므로 삭제할 수 없으므로 여기에 @Simon의 답변을 게시하고 있습니다.

git log --since="6am"

물론 시간을 "아침"으로 조정할 수 있습니다. :)


아마도 가장 좋은 방법은

git log --since="6am"

당신의 편의에 따라 시간을 조정할 수 있습니다;)


이 명령을 단축하기 위해 별칭을 만들 수 있습니다.

git config --global alias.today 'log --since=7am'

그런 다음 다음을 실행하십시오.

git today

에서 커밋을 얻으려면 모든 오늘의 ...

git log --since=midnight

Btw, 이것도 작동합니다.
git log --since=am


이미 몇 가지 유용한 정답이 git log --since="6am"있지만 (예 :) Git의 특별한 날짜가 문서에서 누락 된 것은 이상합니다 (적어도 "어제" "정오"site : git-scm.com 에서 검색 결과가 반환되지 않음).

사용 가능한 항목을 찾는 방법이 있습니다. 예를 들어 git 날짜 구문에 대한 사양에 대한 답변 이 특히 유용합니다. 하나에서 Ryan O'Hara

it seems to accept all formats that it can output, as described in the documentation for the --date option:

--date=(relative|local|default|iso|rfc|short|raw)

를 사용하는 경우와 같이 사람이 읽을 수있는 형식으로 표시된 날짜에만 적용됩니다 --pretty. log.dateconfig 변수는 log 명령의 --date옵션에 대한 기본값을 설정합니다 .

--date=relative 현재 시간을 기준으로 한 날짜를 표시합니다 (예 : "2 시간 전").

--date=local 사용자의 현지 시간대로 타임 스탬프를 표시합니다.

--date=iso(또는 --date=iso8601)은 ISO 8601 형식으로 타임 스탬프를 표시합니다.

--date=rfc(또는 --date=rfc2822)은 종종 전자 메일 메시지에있는 RFC 2822 형식의 타임 스탬프를 표시합니다.

--date=shortYYYY-MM-DD형식으로 날짜 만 표시하고 시간은 표시하지 않습니다 .

--date=raw내부 원시 git 형식 %s %z형식으로 날짜를 표시 합니다.

--date=default 원래 시간대 (커미터 또는 작성자)의 타임 스탬프를 표시합니다.

내가 가장 좋아하는 대답은 me_and에서 우리를 git date.c 클래스 로 안내하는 것 입니다. 그것을 스캔하면 다음 코드를 찾을 수 있습니다 (작성 당시에는 925 행에 있습니다).

static const struct special {
    const char *name;
    void (*fn)(struct tm *, struct tm *, int *);
} special[] = {
    { "yesterday", date_yesterday },
    { "noon", date_noon },
    { "midnight", date_midnight },
    { "tea", date_tea },
    { "PM", date_pm },
    { "AM", date_am },
    { "never", date_never },
    { "now", date_now },
    { NULL }
};

나는 확실히 사용 git log --before=tea하고 있지만 date_tea함수를 보면 Rupert Brooke를 읽지 않았다고 생각합니다 .

static void date_tea(struct tm *tm, struct tm *now, int *num)
{
    date_time(tm, now, 17);
}

참고 URL : https://stackoverflow.com/questions/5113425/how-to-make-git-log-show-all-of-todays-commits

반응형