使用mutliple .gitignore文件(与React Native一起使用)

时间:2018-09-20 18:08:12

标签: git reactjs react-native native gitignore

我有一个看起来像这样的项目:

docs
rnsrc
src

内部文档是word文档,pptx等。rnsrc内部是一个React Native项目,而src内部是它的客户端(Python)。我想在Git版本控制下拥有完整目录,我可以实现这一点,但是React Native提供了一个.gitignore项目,我无法让Git承认。 React Native .gitignore看起来像这样:

# Xcode
  !**/*.xcodeproj
  !**/*.pbxproj
  !**/*.xcworkspacedata
  !**/*.xcsettings
  !**/*.xcscheme
  *.pbxuser
  !default.pbxuser
  *.mode1v3
  !default.mode1v3
  *.mode2v3
  !default.mode2v3
  *.perspectivev3
  !default.perspectivev3
  xcuserdata
  *.xccheckout
  *.moved-aside
  DerivedData
  *.hmap
  *.ipa
  *.xcuserstate
  project.xcworkspace

  # Gradle
  /build/
  /RNTester/android/app/build/
  /RNTester/android/app/gradle/
  /RNTester/android/app/gradlew
  /RNTester/android/app/gradlew.bat
  /ReactAndroid/build/

  # Buck
  .buckd
  buck-out
  /ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/
  /ReactAndroid/src/main/jni/prebuilt/lib/x86/
  /ReactAndroid/src/main/gen

  # Watchman
  .watchmanconfig

  # Android
  .idea
  .gradle
  local.properties
  *.iml
  /android/

  # Node
  node_modules
  *.log
  .nvm
  /bots/node_modules/
  package-lock.json

  # OS X
  .DS_Store

  # Test generated files
  /ReactAndroid/src/androidTest/assets/AndroidTestBundle.js
  *.js.meta

  /coverage
  /third-party

  # Root dir shouldn't have Xcode project
  /*.xcodeproj

  # ReactCommon subdir shouldn't have Xcode project
  /ReactCommon/**/*.xcodeproj
  RNTester/build

我尝试将其上移(移至我在开头描述的目录中)并附加:

# Docs
docs

但是它不起作用,“文档”和整个rnsrc已添加到存储库。我仍然可以绕过Git,希望得到一些指导!

1 个答案:

答案 0 :(得分:0)

您可以在一个存储库中有多个.gitignore文件,它们的作用域将有所不同,将根目录中的一个文件应用于整个存储库,那么每个文件仅会影响该文件/文件夹中的文件/文件夹路径及其所有子项。

编辑: 如果我理解这个问题,则希望从下一次提交中删除已跟踪的文件。

如果是,请查看此answer。基本上,运行git rm -r --cached <file>git rm -r --cached .删除.gitignore中的所有文件。

然后添加并提交。