Quando eu tentava git add -p someNewFile.txt
em um novo arquivo (um arquivo não rastreado), git simplesmente exibia No changes.
e parava. Eu tive que dizer ao git que pretendia rastrear o novo arquivo primeiro.
git add -N someNewFile.txt
git add -p
No entanto, como o arquivo não foi rastreado, ele apareceria como um pedaço gigante que não poderia ser dividido (porque é tudo novo!). Então, eu precisei editar o pedaço em pedaços menores. Se você não estiver familiarizado com isso, verifique esta referência para começar.
Atualizar - Informações de edição do Hunk
Eu queria atualizar isso caso a referência acima desapareça. Como o novo arquivo não está rastreado, git add -p
o mostrará cada linha do arquivo como uma nova linha em um trecho. Em seguida, ele perguntará o que você deseja fazer com esse pedaço, apresentando o seguinte prompt:
Stage this hunk [y,n,q,a,d,/,e,?]?
Assumindo que você não deseja comprometer todo o pedaço (e, portanto, todo o arquivo; porque não tenho certeza por que você gostaria de usar git add -p
nesse caso?), Você desejará especificar a opção e
para informar ao git que deseja editar o pedaço.
Uma vez que você diga ao git que deseja editar o pedaço, ele deve levá-lo ao editor de sua escolha para que você possa fazer suas alterações. Todas as linhas devem ser prefixadas com a +
e git tem alguns comentários explicativos (prefixados com a #
) no final do arquivo. Simplesmente exclua todas as linhas que você não deseja em seu commit inicial do arquivo. Em seguida, salve e feche o editor.
Explicação do Git sobre as opções do git:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
git add -N
faz, ele apenas adiciona os arquivos não rastreados especificados ao índice, mas sem conteúdo.