programing

Git 저장소에 존재했던 모든 파일 나열

oldcodes 2023. 8. 27. 09:53
반응형

Git 저장소에 존재했던 모든 파일 나열

지정된 분기에 존재했던 모든 파일을 나열할 수 있는 깨끗한 방법이 있습니까?

다음은 Strager 솔루션의 단순화된 변형입니다.

git log --pretty=format: --name-status | cut -f2- | sort -u

편집: 코멘트에서 조금 더 많은 것을 가르쳐 준 Jakub 덕분에, 이 버전은 파이프라인이 짧고 문제를 해결할 수 있는 더 많은 기회를 제공합니다.

git log --pretty=format: --name-only --diff-filter=A | sort -u

이렇게 하면 파일 이름이 현재 분기에만 있는 것이 아니라 레포에 있는지 확인할 수 있습니다.

git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar

다음은 두 가지 유용한 별칭입니다.파일 찾기ff복사본이 있는 파일 찾기ffc:

# Find if one file ever had into repository
ff = "!git log --pretty=format: --name-status --all -M -B | sort -u | grep $1   #"
# The same as above but showing copied files
ffc = "!git log --pretty=format: --name-status --all -C -M -B | sort -u | grep $1 #"

파일 이름 및 작업에 대한 정보를 얻을 수 있습니다.

샘플 사용:

$ git ff create
A       database/migrations/2014_10_12_000000_create_users_table.php
A       database/migrations/2014_10_12_100000_create_password_resets_table.php
A       database/migrations/2015_05_11_200932_create_boletin_table.php
A       database/migrations/2015_05_15_133500_create_usuarios_table.php
D       database/migrations/2015_05_12_000000_create_users_table.php
M       database/migrations/2015_05_11_200932_create_boletin_table.php
R051    database/migrations/2014_10_12_000000_create_users_table.php    database/migrations/2015_05_12_000000_create_users_table.php

$ git ffc create
A       database/migrations/2014_10_12_000000_create_users_table.php
A       database/migrations/2014_10_12_100000_create_password_resets_table.php
A       database/migrations/2015_05_11_200932_create_boletin_table.php
A       database/migrations/2015_05_15_133500_create_usuarios_table.php
C052    database/migrations/2014_10_12_000000_create_users_table.php    database/migrations/2015_05_11_210246_create_boletin_nosend_table.php
D       database/migrations/2015_05_12_000000_create_users_table.php
M       database/migrations/2015_05_11_200932_create_boletin_table.php
R051    database/migrations/2014_10_12_000000_create_users_table.php    database/migrations/2015_05_12_000000_create_users_table.php

실행할 수 있습니다.git-log --name-status다음과 같은 반향을 일으킵니다.

commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0
Author: Your Name <your@email.com>
Date:   Tue Aug 12 13:28:34 2008 -0700

    Added test file.

A       test

그런 다음 추가된 파일의 압축을 풉니다.

git-log --name-status | sed -ne 's/^A[^u]//p' | sort -u

언급URL : https://stackoverflow.com/questions/543346/list-all-the-files-that-ever-existed-in-a-git-repository

반응형