【发布时间】:2019-09-09 16:53:32
【问题描述】:
我正在使用 Flutter 进行一个学校项目,我们需要使用 git 等版本控制系统。
出于这个原因,我做了以下事情:
- 我用VS Code作为Flutter创建了一个flutter项目 文档解释。
- 我将创建的项目推送到我的 Github 存储库而没有更改 任何东西,包括 .gitignore 文件。
- 我尝试使用 VS Code 从另一台计算机克隆项目 好吧(我们无意使用 Android Studio 或任何其他 IDE 就此而言)。
- 将项目克隆到新工作区后,我运行 flutter packages get 来安装丢失的包(从一开始就被忽略了) 推送到仓库)。
- 现在 VS Code 告诉我需要推送 pubspec.lock 由上一个命令创建的文件。
我的问题是:
- 不应该忽略锁定文件吗? (它不存在于 .gitignore 文件默认)
- 我为 Flutter 项目制定的步骤是否正确?
这是默认的 .gitignore 文件内容:
# Miscellaneous
*.class
*.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
【问题讨论】:
-
可以发
.gitignore -
@EncryptedWatermelon 我编辑了问题
-
我对颤振不熟悉,但您可能想忽略锁定文件。在杂项部分添加
*.lock。如果您已经提交了锁定文件,则需要git rm -r --cached .然后将所有内容添加回git add . -
我遇到的每个颤振项目 repo 都有 pubspec.lock。甚至我所有的颤振项目都有 pubspec.lock 在回购。为什么要在 gitignore 中添加呢?
-
@TirthPatel 我正在与一个团队合作,每个成员都必须克隆项目并运行
flutter packages get命令来安装应用程序包,该命令还会创建pubspec.lock文件。而且由于它是在每个本地 repo 中新创建的,因此必须推送它,这是多余的,因为它始终包含有关项目的相同信息。
标签: git visual-studio-code flutter