2009-02-12 95 views

回答

108

这是Strager的solution的简化变化:

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

编辑:谢谢对Jakub来说,在评论中教会我多一点,这个版本有一个更短的管道,让git更多的机会让事情正确。

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

@Dustlin:添加--diff过滤= A选项(只列出添加的文件)。当前版本(没有sed过滤仅添加文件)将失败,如果您启用了重命名检测并在历史记录中重命名。我认为你可以使用--name-only而不是--name-status并从管道中删除'cut -f2-'。 – 2009-02-13 12:39:44

1

您可以运行git-log --name-status,呼应类似:

commit afdbbaf52ab24ef7ce1daaf75f3aaf18c4d2fee0 
Author: Your Name <[email protected]> 
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 
10

这确实是正确的检查,如果文件名是永远存在的不只是在当前分支的回购

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

下面是两个有用的别名:的FindFile ff和FindFilewithCopies 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 
相关问题