Git and pbxproj

后端 未结 4 733
死守一世寂寞
死守一世寂寞 2020-11-29 21:36

I was looking at an open source Mac application, and they gave some suggested values for .gitignore. They were what I would expect...

However, they also suggested an

4条回答
  •  情书的邮戳
    2020-11-29 22:27

    The pbxproj file isn't really human mergable. While it is plain ASCII text, it's a form of JSON. Essentially you want to treat it as a binary file.

    Here's what the individual flags do:

    -crlf: don't use crlf <=> cr conversion

    -diff: do not diff the file

    -merge: do not attempt to merge the file

    From the Pro Git book by Scott Chacon

    Some files look like text files but for all intents and purposes are to be treated as binary data. For instance, Xcode projects on the Mac contain a file that ends in .pbxproj, which is basically a JSON (plain text javascript data format) dataset written out to disk by the IDE that records your build settings and so on. Although it’s technically a text file, because it’s all ASCII, you don’t want to treat it as such because it’s really a lightweight database — you can’t merge the contents if two people changed it, and diffs generally aren’t helpful. The file is meant to be consumed by a machine. In essence, you want to treat it like a binary file.

提交回复
热议问题