update gitignore
add some constraint support