使用.gitignore将嵌套的文件和文件夹列入白名单

时间:2019-05-20 13:37:56

标签: git github gitignore

我要排除整个android/ios/文件夹

我想在其中包含以下文件:

android/settings.gradle
android/app/build.gradle
android/build.gradle
android/app/src/main/java/com/reactnativegoogleadmob/MainApplication.java

ios/Podfile
ios/ReactNativeGoogleAdmob/AppDelegate.h
ios/ReactNativeGoogleAdmob/AppDelegate.m

所以我的.gitignore是:

# Remove following directories

android/*
ios/*

# Add following files

!android/settings.gradle
!android/app/build.gradle
!android/build.gradle
!android/app/src/main/java/com/reactnativegoogleadmob/MainApplication.java

!ios/Podfile
!ios/ReactNativeGoogleAdmob/AppDelegate.h
!ios/ReactNativeGoogleAdmob/AppDelegate.m

但是它仅包含顶级文件,例如:

android/settings.gradle
android/build.gradle
ios/Podfile

我也尝试过android/**/*ios/**/*,但其结果与android/*ios/*相同。

如何包含其余文件?我也尝试了其他解决方案,但遇到了障碍。

2 个答案:

答案 0 :(得分:0)

由于@axiac的回答here,我设法使这件事变得可行。

在阅读以下解决方案之前先阅读它,因为它比我能解释的要好得多-

android/*

!android/build.gradle
!android/settings.gradle

!android/app/
android/app/*
!android/app/build.gradle
!android/app/src
android/app/src/*
!android/app/src/main
android/app/src/main/*
!android/app/src/main/java
android/app/src/main/java/*
!android/app/src/main/java/com
android/app/src/main/java/com/*
android/app/src/main/java/com/reactnativegoogleadmob/*
!android/app/src/main/java/com/reactnativegoogleadmob
!android/app/src/main/java/com/reactnativegoogleadmob/MainApplication.java

ios/*

!ios/Podfile

!ios/ReactNativeGoogleAdmob/
ios/ReactNativeGoogleAdmob/*
!ios/ReactNativeGoogleAdmob/AppDelegate.h
!ios/ReactNativeGoogleAdmob/AppDelegate.m

答案 1 :(得分:-1)

您的.gitignore文件应仅包含这些条目,因为它将递归地忽略androidios目录中的文件。

.gitignore

android
ios