Como seleciono todos os arquivos que terminam com .txt
no diretório atual, mas omito todos os que estão nos subdiretórios?
*.txt
seleciona todos os arquivos que terminam nos .txt
subdiretórios também. Como faço para omiti-los?
estrutura de diretório:
current folder
|-first_file.txt
|-sub_folder
|-second_file
Estou tentando adicionar o first_file sozinho a um repositório git. Mas fazer git add *.txt
adiciona o primeiro e o segundo arquivo ao palco. Eu quero que apenas o first_file seja adicionado.
Há uma diferença sutil entre o shell ou o git lidar com o padrão.
git
considera subdiretórios também, o shell não. Então, no seu caso, executandoenquanto o diretório atual é sua "pasta atual", permite que o shell faça a expansão curinga (e, portanto, apenas adiciona arquivos correspondentes no diretório atual).
Para elaborar
git add *.txt
curinga, a expansão é feita pelo shell, portanto,git
na verdade, é chamado comgit add file1.txt file2.txt
(o que significa quegit
apenas pega os nomes de arquivo passados e os adiciona). A única ressalva aqui é que, se não houver arquivos correspondentes,*.txt
git
será executado comogit add *.txt
, no entanto, o que obviamente acionarágit
a verificação do subdiretório sgit add '*.txt'
a expansão curinga é feita,git
o que sempre implica uma varredura de subdiretório também.