2012-04-22 59 views
1

很多时候,当我从一个项目的拉动,会有部分或文件已对我的工作没有影响,只是臃肿我的终端窗口:在git pull后隐藏某些文件/目录的列表?

 
Counting objects: 100, done. 
remote: Compressing objects: 100% (2/2), done. 
remote: Total 3 (delta 29), reused 72 (delta 19) 
Unpacking objects: 100% (3/3), done. 
From github.com:Foo/bar 
* branch   master  -> FETCH_HEAD 
Merge made by recursive. 
/js/i_care_about_this_file.js      | 2 +- 
/php/i_care_about_this_also.php     | 4 +- 
/flash/some_project/file_i_dont_care_about.swf | Bin 0 -> 904 bytes 
46 files changed, 22 insertions(+), 64 deletions(-) 
create mode 100188 /flash/some_project/file_i_dont_care_about.swf 

显然,这是一个非常简单的例子,通常有数百个SWF的当我拉下来时,我宁愿没有的文件也会显示出来。

有没有可以传递给git pullgit merge的标志?或者我可以在git或shell中设置一些配置参数?

回答

1

很明显,git并不知道你在乎什么,也不知道你在做什么,但是你可以通过传递--quiet来完全关闭它。

另外,git并不是真正用于处理SWF等二进制文件。你为什么要检查他们?

+0

加上,'git'用于处理文件中的_differences,'.swf'只是另一种类型的文件。什么失败的是'.swf'的二进制特性使得更改看起来像文件的90%+发生了变化,所以每次更改'git'都会一次又一次地存储整个文件,这会极大地增加存储库的大小。 – c00kiemon5ter 2012-04-22 00:17:52

1

可以使用-q开关:

 -q, --quiet 
     This is passed to both underlying git-fetch to squelch reporting of during transfer, and underlying git-merge to squelch output during 
     merging. 

或我想更多你想要什么-n

--stat, -n, --no-stat 
     Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat. 

     With -n or --no-stat do not show a diffstat at the end of the merge. 

是要隐藏只是.swf文件,我想你必须管git pull输出到sedgrep,如:

$ git pull <remote> | grep -v ".swf "