使用vs代码从github克隆一个Flutter项目

时间:2019-04-19 11:58:57

标签: git visual-studio-code flutter

我正在使用Flutter进行学校项目,我们需要使用git等版本控制系统。

因此,我做了以下事情:

  1. 我使用VS Code作为Flutter创建了一个flutter项目 说明文件。
  2. 我无需更改即可将创建的项目推送到我的Github存储库中 任何东西,包括.gitignore文件。
  3. 我尝试使用VS Code从另一台计算机克隆项目 好(我们无意使用Android Studio或任何其他IDE 为此)。
  4. 将项目克隆到新的工作区后,我就会运行 flutter 软件包获取以安装缺少的软件包(从第一个忽略 推送到仓库)。
  5. 现在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

1 个答案:

答案 0 :(得分:0)

不是应该忽略锁定文件吗? (默认情况下,它在.gitignore文件中不存在)

默认情况下不会忽略pubspec.lock文件。如果克隆的项目中未包含pubspec.lock,则可以通过运行flutter pub get来生成一个新的项目。

我为Flutter项目做出了正确的步骤吗?

从1到4的步骤似乎很好,直到出现需要推送pubspec.lock的冲突为止。该项目的pubspec.lock似乎已被跟踪,并已提交到存储库。我建议将pubspec.lock文件保留在存储库中,因为它可以确保不同的签出将使用相同版本的依赖项。