Git adiciona o mesmo nome de arquivos de pasta diferentes.

Às vezes não posso fazer git add .porque preciso alterar as variáveis ​​de teste (como o nome da porta, por exemplo) e não quero que essas alterações sejam confirmadas [1]. Então, eu faço isso em vez disso:

git status | awk '/modified/{print $3}' | grep NAME_FILE | xargs git add

Isso funciona em um projeto semelhante a este:

* specs
** login.js
** dashboard.js
** profile.js
* controllers
** loginCtrl.js
** dashboardCtrl.js
** profileCtrl.js
* services
** login-srv.js
** dashboard-srv.js
** profile-srv.js

Ignore a notação de nomenclatura pobre. Algumas pessoas preferem empacotar seus módulos em uma pasta, o que, neste caso, faria mais sentido para mim

* login
** spec
** controller
** service
* profile
** spec
** controller

<small> [1] Qual é o problema para começar. Seu aplicativo deve ter uma maneira de executar variáveis ​​de desenvolvimento ou permitir que você escolha as de teste </small>