2011-03-26 142 views
2

我有一个包含我缩小的CSS/JS文件的回购。其中一些是gzipped。当我在分期和生产之间进行推和拉时,它会尝试自动合并,并在gz上失败,并引用它无法自动合并二进制文件。git拉gzip文件回购?

有没有办法通知Git从未尝试合并某个目录,而是只推动这一目录更改时推送请求时?

任何其他方式你们去呢?

谢谢!

UPDATE:

我试图把在.gitattributes以下

*.gz merge=keepTheir 

但还是收到这个每当我推:(请注意,有人在我之前别人推和更新的文件到该回购)

Auto-merging public/assets/upload.css.gz 
CONFLICT (content): Merge conflict in public/assets/upload.css.gz 

我在做什么错?

+0

您是否定义了'keepTheir'脚本,如http://stackoverflow.com/questions/4911794/git-command-for-making-one-branch-like-another/4912267#4912267中所述? '.gitattributes'就是为了声明合并时需要执行的脚本。另见http://stackoverflow.com/questions/928646/how-do-i-tell-git-to-always-select-my-local-version-for-conflicted-merges-on-a-sp/930495# 930495的更详细的例子。 – VonC 2011-03-26 19:49:28

+0

注:其它“copymerge”的策略存在:http://stackoverflow.com/questions/4911794/git-command-for-making-one-branch-like-another/4912267#4912267 – VonC 2011-03-26 19:51:29

+0

哑了我,我没有。但现在我明白我的下一个问题是,git $ 3和$ 2生成的路径是什么?....还有,如果我想制作keepOurs策略脚本,该怎么办?我会做mv -f $ 2 $ 3吗​​? 会保持我们的确保它上传到回购我的最新变化,并保持我的本地副本完整的方式? – schone 2011-03-26 19:56:30

回答

3

如果您需要推送覆盖(而不是合并)目标的内容,则可以在.gitattribute文件中定义自定义合并驱动程序,以指定如何合并*.gz文件。

this answer as an example

.gitattributes 

*.gz merge=keepTheir 

(基于“git command for making one branch like another”)

+0

带有示例的更新问题。仍然遇到问题。我会很感激你可以给我的任何指导。 – schone 2011-03-26 19:44:16

1

也许你想忽略缩小的版本,因为他们是满档的只是缩小的一个表现?

包括在/.gitignore文件名和提交修改添加此文件。 Git将停止无用地跟踪对缩小的实际副本的更改。