Использование Mutliple .gitignore файлов (работа с React Native) - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть проект, который выглядит следующим образом:

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 голосов
/ 20 сентября 2018

Вы можете иметь несколько .gitignore файлов в одном репо, и они будут иметь разные области действия, при этом один файл в корневом каталоге будет применяться ко всему репо, тогда каждый из них будет влиять только на файлы / папки по этому пути ивсе его потомки.

Редактировать: Если я понимаю вопрос, вы хотите, чтобы файлы, которые уже отслежены, были удалены из вашего следующего коммита.

Если это так, посмотрите на этот ответ .В основном, запустите git rm -r --cached <file> или git rm -r --cached ., чтобы удалить все файлы в .gitignore.

Затем добавьте и подтвердите.

...