使用.gitignore将嵌套的文件和文件夹列入白名单 [英] Whitelist nested files and folders using .gitignore

查看:261
本文介绍了使用.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/*.

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

解决方案

由于 @axiac

a>的答案在这里.

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

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

I want to exclude entire android/ & ios/ folder

And I want to include the following files in it:

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

So my .gitignore is:

# 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

But it only includes top level files like:

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

I also tried android/**/* & ios/**/* but it gives same results as android/* & ios/*.

How do I include the rest of the files? I tried other solutions too but hitting a roadblock.

解决方案

I managed to make this thing work thanks to @axiac's answer here.

Read it before reading the solution below as it explains much better than I can explain -

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

这篇关于使用.gitignore将嵌套的文件和文件夹列入白名单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆