【问题标题】:git pull with gzip files in repo?git pull 与 repo 中的 gzip 文件?
【发布时间】:2011-03-26 17:08:18
【问题描述】:

我有一个包含我缩小的 css/js 文件的存储库。其中一些是 gzip 压缩的。当我在登台和生产之间进行推送和拉取时,它会尝试自动合并并在 gz 上失败,理由是它无法自动合并二进制文件。

有没有办法告诉 git 永远不要尝试合并某个目录,而只在发出推送请求时推送目录更改?

你们还有其他方法吗?

谢谢!!

更新:

我尝试将以下内容放入 .gitattributes

*.gz merge=keepTheir

每当我推送时仍然得到这个:(请注意,其他人在我之前推送并将文件更新到该仓库)

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

我做错了什么?

【问题讨论】:

  • 您是否定义了keepTheir 脚​​本,如stackoverflow.com/questions/4911794/… 中所述? .gitattributes 只是用来声明合并时需要执行的脚本。有关更详细的示例,另请参阅 stackoverflow.com/questions/928646/…
  • 注意:存在其他“copymerge”策略:stackoverflow.com/questions/4911794/…
  • 愚弄我,我没有。但是现在我明白了我的下一个问题是,git $3 和 $2 生成了哪些路径?....如果我想制作一个 keepOurs 策略脚本怎么办?我会做 mv -f $2 $3 吗?是否会保留我们的文件以确保它将我的最新更改上传到存储库并保持我的本地副本原样?
  • 如果您想保持本地副本完好无损,keepOurs 更好;)这就是stackoverflow.com/questions/928646/… 所描述的

标签: git gzip minify


【解决方案1】:

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

this answer as an example

.gitattributes

*.gz merge=keepTheir

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

【讨论】:

  • 用示例更新问题。仍然遇到问题。如果您能给我任何指导,我将不胜感激。
【解决方案2】:

也许您想忽略缩小版,因为它们只是完整文件的缩小版?

/.gitignore 中包含文件名并提交更改以添加此文件。 Git 将无用地停止跟踪对缩小的事实副本的更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 2011-02-01
    • 2018-08-21
    • 2012-03-18
    • 2011-10-29
    • 1970-01-01
    • 2021-03-05
    相关资源
    最近更新 更多