【问题标题】:Flutter, which folder not to commit to svnFlutter,哪个文件夹不提交到svn
【发布时间】:2019-04-30 00:44:54
【问题描述】:

android和ios文件夹需要提交svn吗?

我相信 /build .packages 不会被提交。

我还没有找到关于这个主题的详细文档。我只找到这个https://www.dartlang.org/guides/libraries/private-files

我知道有 .gitignore 文件,但我认为这个文件被忽略了,因为我使用的是 TortoiseSVN。每次我提交时,我都会提交大约 200 多个文件。并且在更新时可能会影响其他用户。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    android和ios文件夹需要提交svn吗?

    是的,总是将这些文件夹提交到 svn(但你可以跳过一些自动生成的文件)

    Flutter 项目中有三个主要文件夹: libandroidios

    lib 负责处理您的 Dart 文件。 Android 和 iOS 文件夹的存在是为了在各自的平台上实际构建应用程序,并在其上运行 Dart 文件。它们还可以帮助您为项目添加权限和特定于平台的功能。当您运行 Flutter 项目时,它会根据运行的模拟器或设备进行构建,使用其中的文件夹进行 Gradle 或 XCode 构建。

    简而言之,这些文件夹是整个应用程序,它们为 Flutter 代码的运行奠定了基础。

    不要提交以下文件和目录:

    # See https://www.dartlang.org/tools/private-files.html
    
    # Files and directories created by pub
    .packages
    .pub/
    build/
    # If you're building an application, you may want to check-in your pubspec.lock
    pubspec.lock
    
    # Directory created by dartdoc
    # If you don't generate documentation locally you can remove this line.
    doc/api/
    

    来自flutter create

    .DS_Store
    .atom/
    .idea
    .packages
    .pub/
    build/
    ios/.generated/
    packages
    pubspec.lock
    .flutter-plugins
    

    更多信息请参考this查看哪些文件是自动生成的。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      如果您创建一个 Flutter 项目,它包含 3 个 .gitignore 文件。
      一个在项目根目录中,一个在每个ios/android/ 中。
      这些文件已经涵盖了大多数情况。

      更新

      他们将这 3 个.gitignore 统一为一个

      # Miscellaneous
      *.class
      *.lock
      *.log
      *.pyc
      *.swp
      .DS_Store
      .atom/
      .buildlog/
      .history
      .svn/
      
      # IntelliJ related
      *.iml
      *.ipr
      *.iws
      .idea/
      
      # Visual Studio Code related
      .vscode/
      
      # Flutter/Dart/Pub related
      **/doc/api/
      .dart_tool/
      .flutter-plugins
      .packages
      .pub-cache/
      .pub/
      build/
      
      # Android related
      **/android/**/gradle-wrapper.jar
      **/android/.gradle
      **/android/captures/
      **/android/gradlew
      **/android/gradlew.bat
      **/android/local.properties
      **/android/**/GeneratedPluginRegistrant.java
      
      # iOS/XCode related
      **/ios/**/*.mode1v3
      **/ios/**/*.mode2v3
      **/ios/**/*.moved-aside
      **/ios/**/*.pbxuser
      **/ios/**/*.perspectivev3
      **/ios/**/*sync/
      **/ios/**/.sconsign.dblite
      **/ios/**/.tags*
      **/ios/**/.vagrant/
      **/ios/**/DerivedData/
      **/ios/**/Icon?
      **/ios/**/Pods/
      **/ios/**/.symlinks/
      **/ios/**/profile
      **/ios/**/xcuserdata
      **/ios/.generated/
      **/ios/Flutter/App.framework
      **/ios/Flutter/Flutter.framework
      **/ios/Flutter/Generated.xcconfig
      **/ios/Flutter/app.flx
      **/ios/Flutter/app.zip
      **/ios/Flutter/flutter_assets/
      **/ios/ServiceDefinitions.json
      **/ios/Runner/GeneratedPluginRegistrant.*
      
      # Exceptions to above rules.
      !**/ios/**/default.mode1v3
      !**/ios/**/default.mode2v3
      !**/ios/**/default.pbxuser
      !**/ios/**/default.perspectivev3
      !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
      

      【讨论】:

      • 我的根目录只有 1 个 .gitignore ......而且因为我使用的是 svn,所以我认为这个文件也被“忽略”了 :)
      • 我最后一次检查它们是 3,但我记得看到讨论应该合并它们,并且在一个新创建的项目中现在只有 1 个这样的文件。我更新了我的答案。
      • 我可以使用 svn 来获取这个 .gitignore 文件吗?
      • 好像有类似的stackoverflow.com/questions/11293539/…。你需要自己转换它
      • ios/build/文件夹、ios/Podfile和ios/Podfile.lock文件呢?
      猜你喜欢
      • 1970-01-01
      • 2011-04-26
      • 2011-06-15
      • 2012-05-06
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 2010-09-16
      相关资源
      最近更新 更多