我是从git邮件列表(http://marc.info/?l=git&m=139287161008313&w=2)
交叉发布的所以,我想要一种在组织上共享部分gitconfig的方法,所以 我用过滤器更改并注释掉了一些部分:
[过滤“gitconfig-rmuser”]
clean = sed -e \“s / ^ \( email = \)。 / \ 1 / \” - e
\“s / ^ \( name = \)。 / \ 1 / \” - e \“s / ^ \( signingkey
= \)。 / \ 1 / \“
然后:
$ cat .gitattributes
* filter = ident-line
gitconfig filter = gitconfig-rmuser
哪个有效。唯一的问题是,如果我在之后再次更改它
承诺,我明白了:
$ git status
#HEAD在e872204分离了
#未提交更改的更改:
#modified:gitconfig
#
没有更改添加到提交
$ git diff gitconfig
$
所以回购品仍然很脏,我无法用它做任何事情。
答案 0 :(得分:0)
修改过滤后的文件时,git看起来很脏。当git将文件转储到索引时,它会存储实际文件的校验和,而不是过滤文件的校验和。因此,在修改文件后,您需要git add
它。这将修改索引,但是(如果您的修改对于过滤器是不可见的),则不会导致稍后提交更改。