【问题标题】:.gitignore for everything inside the xcuserdata folder does not ignore an xcuserstate filexcuserdata 文件夹中所有内容的 .gitignore 不会忽略 xcuserstate 文件
【发布时间】:2013-03-16 18:45:54
【问题描述】:

我在一个 Xcode 项目中工作,我正在尝试将 .gitignore 配置为在 xcuserdata 文件夹中不获取任何内容。

我有以下.gitignore:

# Xcode
.DS_Store
*/build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.hmap
xcuserdata/*

但每次我构建/运行项目并执行git status 时,它仍然显示以下中间文件:

modified: MyProject.xcodeproj/project.xcworkspace/xcuserdata/fernando.xcuserdatad/UserInterfaceState.xcuserstate

有人知道出了什么问题吗?

【问题讨论】:

标签: xcode git gitignore


【解决方案1】:

我找到了解决办法

问题不在 .gitignore 文件中

问题是没有从git服务器中删除的UserInterfaceState.xcuserstate,在以下链接中找到了解决方案:

Can't ignore UserInterfaceState.xcuserstate

【讨论】:

    【解决方案2】:

    FWIW,我的 xcuserdata 文件夹还没有被 git 跟踪,并且仍然显示在 git status 中。问题是我的 .gitignore 文件中 xcuserdata 之前有一个空格。

    【讨论】:

      【解决方案3】:

      附加信息

      我也遇到过这种情况,并且似乎无法正常工作,因为 .gitignore 在提交后仍会添加它们。我添加的内容对我很有魅力

      .... .gitignore 无法读取此内容:

      xcuserdata/*
      

      添加这个对我有用:

      *xcworkspace/xcuserdata/*
      

      或待读:

      */xcuserdata/*
      

      【讨论】:

      • *xcworkspace/xcuserdata/* 为我工作!谢谢!
      • 当然。如果您之前提交了该文件,您还应该从缓存中删除它
      • 这些都不适合我。但只是 xcuserdata,没有其他任何东西会忽略它。
      【解决方案4】:

      对我来说没有任何效果,但是这个

      将此行添加到您的 gitignore

      *.xcuserdata
      

      【讨论】:

        【解决方案5】:

        如果你用过git,可以加.gitignore

        # Xcode
        *.pbxuser
        !default.pbxuser
        *.mode1v3
        !default.mode1v3
        *.mode2v3
        !default.mode2v3
        *.perspectivev3
        !default.perspectivev3
        *.moved-aside
        DerivedData
        .idea/
        *.xccheckout
        *.moved-aside
        xcuserdata/
        *.hmap
        *.ipa
        *.xcworkspace
        *.xcuserstate // <--- Here
        !default.xcworkspace
        

        【讨论】:

          【解决方案6】:

          除了这个对我来说没什么用,因为我想提交其中也包含 .xcuserdata 的 Pod:

          **/xcuserdata/*
          

          【讨论】:

            【解决方案7】:

            你可以这样做

             git checkout -- <file>..." to discard changes in working directory
            

            例子:

               modified:
                    mySwa.com.xcworkspace/xcuserdata/bibscy.xcuserdatad/UserInterfaceState.xcuserstate
            
               git checkout -- mySwa.com.xcworkspace/xcuserdata/bibscy.xcuserdatad/UserInterfaceState.xcuserstate
            

            【讨论】:

              【解决方案8】:

              这个问题迟到了,但这个网站帮我解决了这个问题:

              https://www.gitignore.io/

              具体使用标签swiftxcode 生成以下内容:

              https://www.gitignore.io/api/xcode,swift

              【讨论】:

                【解决方案9】:

                我在这里看不到任何逻辑。 但是,就我而言,仅移动 xcuserdata/ 到 .gitignore 文件的最底层有帮助。

                【讨论】:

                  【解决方案10】:

                  除了将*.xcuserstate 添加到您的.gitignore 文件之外,请记住删除缓存的*.xcuserstate

                  git rm --cached [YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[ YourUsername].xcuserdatad/UserInterfaceState.xcuserstate

                  https://www.programmersought.com/article/1594916500/

                  【讨论】:

                    猜你喜欢
                    • 2021-09-29
                    • 2021-09-24
                    • 2016-12-25
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2022-11-16
                    • 2017-03-22
                    • 2018-05-02
                    相关资源
                    最近更新 更多