Como alguns mencionaram, uma maneira possível é usar o teste interativo do git . Isso é ótimo quando você tem arquivos com extensões diferentes
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
Se você pressionar 2
, enter
obterá uma lista de arquivos disponíveis para serem adicionados:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Agora você só precisa inserir o número de arquivos que deseja adicionar, então se quiséssemos adicionar TODO
e index.html
digitaríamos1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Você vê o *
antes do número? isso significa que o arquivo foi adicionado.
Agora imagine que você tenha 7 arquivos e deseja adicioná-los todos, exceto o 7? Claro que poderíamos digitar, 1,2,3,4,5,6
mas imagine que em vez de 7 temos 16, isso seria muito complicado, a boa coisa que não precisamos digitar todos porque podemos usar intervalos, digitando1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Podemos até usar vários intervalos, portanto, se quisermos de 1 a 3 e de 5 a 7, digitamos 1-3, 5-7
:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
Também podemos usar isso para remover o estágio de arquivos, se digitarmos -number
, portanto, se quisermos remover o estágio de arquivo número 1, digitaríamos -1
:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
E como você pode imaginar, também podemos remover o teste de uma série de arquivos, portanto, se digitarmos -range
todos os arquivos nesse intervalo, não será o teste. Se quiséssemos remover o estágio de todos os arquivos de 5 a 7, digitaríamos -5-7
:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
git commit -a
abre um editor para você digitar a mensagem de confirmação. Digite a mensagem que deseja ver como registro e saia do editor. Isso conclui o commit. Acompanhe isso enviando suas alterações para o repositório remoto usandogit push <remote name> <branch name>
comogit push remote master