Programing

지난 2 일 동안 변경된 Git 쇼 파일

crosscheck 2020. 12. 7. 07:51
반응형

지난 2 일 동안 변경된 Git 쇼 파일


지난 2 일 동안 변경된 모든 파일 목록을 어떻게 가질 수 있습니까? 나는 알고있다

git log --name-status --since="2 days ago" 

그러나 이것은 나에게 ID, 날짜 및 커밋 메시지를 표시합니다. 변경된 파일 이름 목록 만 있으면됩니다.

git로 가능합니까?


git log --pretty=format: --name-only --since="2 days ago"

일부 파일이 여러 커밋에서 중복되는 경우 파이프를 사용하여 필터링 할 수 있습니다.

git log --pretty=format: --name-only --since="2 days ago" | sort | uniq

git diff --stat @{2.days.ago} # Deprecated!, see below

짧고 효과적

편집하다

TLDR : 사용 git diff $(git log -1 --before=@{2.days.ago} --format=%H) --stat

긴 설명 : 원래 솔루션은 좋았지 만 약간의 결함이있었습니다. reflog즉, 으로 제한되었습니다. 즉, 원격으로reflog 푸시되지 않기 때문에 로컬 역사 만 표시합니다 . 이것이 최근에 복제 된 in repos 를 얻는 이유 입니다.warning: Log for 'master' only goes back to...

내 컴퓨터 에서이 별칭구성했습니다 .

alias glasthour='git diff $(git log -1 --before=@{last.hour} --format=%H) --stat' 
alias glastblock='git diff $(git log -1 --before=@{4.hours.ago} --format=%H) --stat' 
alias glastday='git diff $(git log -1 --before=@{last.day} --format=%H) --stat' 
alias glastweek='git diff $(git log -1 --before=@{last.week} --format=%H) --shortstat | uniq' 
alias glastmonth='git diff $(git log -1 --before=@{last.month} --format=%H) --shortstat | uniq'                                                                                                                

크레딧 : @ adam-dymitruk의 답변


--raw 옵션을 사용하여 git log :

$ git log --raw --since=2.days

--raw 형식으로 표시된 플래그에 대한 설명은 git 로그 도움말 페이지의 --diff-filter 부분을 참조하십시오. 각 커밋의 파일에 대해 설명합니다.

   --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
       Select only files that are Added (A), Copied (C), Deleted (D),
       Modified (M), Renamed (R), have their type (i.e. regular file,
       symlink, submodule, ...) changed (T), are Unmerged (U), are Unknown
       (X), or have had their pairing Broken (B). Any combination of the
       filter characters (including none) can be used. When *
       (All-or-none) is added to the combination, all paths are selected
       if there is any file that matches other criteria in the comparison;
       if there is no file that matches other criteria, nothing is
       selected. 

다음을 사용하여 2 일 전과 가장 가까운 버전을 비교할 수 있습니다.

git diff $(git log -1 --before="2 days ago" --format=%H).. --stat

--stat변경 사항 요약을 제공합니다. 추가 --name-only모든 메타 정보를 제외하고 파일 이름 만 나열을 할 수 있습니다.

도움이 되었기를 바랍니다.


git log --pretty="format:" --since="2 days ago" --name-only

참고 URL : https://stackoverflow.com/questions/7499938/git-show-files-that-were-changed-in-the-last-2-days

반응형