├───apps
│ ├───bin
│ │ ├───x64
│ │ │ ├───Debug
│ │ │ └───Release
│ │ └───x86
│ │ ├───Debug
│ │ └───Release
│ └───libs
│ ├───Debug
│ └───Release
└───libs
.gitignore
Now my intention is to setup .gitignore file with following assumptions
1) libs at root and files below should be ignored
2) libs below apps and all files below should be considered for tracking
3) Debug and Release folders under apps\bin\x86|x64 should be ignored
4) Debug and Release folders under apps\libs should be considered for tracking
Help file of git ignore doesn't provide much help about placeholders and skip tokens. Though I wish a regex option could be ideal. After some hit and trial I could come up with following .gitignore file
/libs
*/bin/*/Debug
*/bin/*/Release
With this when I add and check for status I get desired result.
$git add .
$git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached
#
# new file: .gitignore
# new file: apps/apps1.txt
# new file: apps/libs/Debug/appslibsdebug.txt
# new file: apps/libs/Release/appslibsrelease.txt
# new file: apps/libs/appslibs1.txt
#