Percebi que, enquanto trabalhava em um ou dois ingressos, se eu me afastar, não sei ao certo o que trabalhei, o que mudou, etc.
Existe uma maneira de ver as alterações feitas em um determinado arquivo antes do git add e do git commit?
Você está procurando git diff
. Dependendo da sua situação exata, existem três maneiras úteis de usá-lo:
# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]
Funcionará recursivamente nos diretórios e, se nenhum caminho for especificado, todas as alterações serão exibidas.
[filename]
indicam um argumento opcional.) Com*
você deixando o shell listar todos os arquivos, se estiver em um subdiretório, você só obterá coisas nesse subdiretório (não todo o repositório) e você ' Perderá alterações nos arquivos ocultos.git add -p
é uma alternativa para inspecionar todos os arquivos.git diff --staged [filename]
sua resposta principal, pois essa é uma situação mais frequentemente necessária.Use
git-diff
:fonte
git diff filename
fonte
Para mim,
git add -p
é a maneira mais útil (e pretendo que os desenvolvedores do git pensem?) Revisar todas as alterações não-estágios (mostra o diff para cada arquivo), escolher um bom conjunto de alterações que devem ser acompanhadas por um commit e, em seguida, quando você tiver encenou tudo isso, usegit commit
e repita para o próximo commit. Em seguida, você pode fazer com que cada confirmação seja um conjunto de alterações úteis ou significativas, mesmo que elas ocorram em vários arquivos. Eu também sugeriria criar uma nova ramificação para cada ticket ou atividade semelhante e alternar entre eles usandocheckout
(talvez usandogit stash
se você não deseja confirmar antes de mudar), embora se você estiver fazendo muitas alterações rápidas, isso pode ser uma dor. Não se esqueça de mesclar com frequência.fonte
git diff
fonte
Lembre-se, você está cometendo alterações , não arquivos.
Por esse motivo, é muito raro não usar
git add -p
(ou o equivalente do magit) para adicionar minhas alterações.fonte
path pode ser o caminho completo do sistema até o arquivo ou,
se você estiver no projeto, cole o caminho do arquivo modificado também
para arquivos modificados com o uso de path:
git status
fonte
Bem, meu caso quando você não quer se importar com a lista de arquivos. Apenas mostre a todos.
Quando você já correu
git add
sua lista de arquivos:Nas versões mais recentes do
git
, você pode usar--staged
também, que é um sinônimo--cached
.O mesmo pode ser usado para não adicionar arquivos, mas sem
--cached
opção.Alias do comando Git para a opção "em cache":
fonte
Vá para seu respectivo repositório git e execute o comando abaixo:
nome do arquivo diff
Ele abrirá o arquivo com as alterações marcadas, pressione a tecla Enter / Enter para rolar o arquivo para baixo.
O nome do arquivo PS deve incluir o caminho completo do arquivo, ou você pode executar sem o caminho completo, indo no respectivo diretório / pasta do arquivo
fonte
Você também pode usar um editor de texto compatível com o git. Eles mostram cores nas linhas que foram modificadas, outra cor para linhas adicionadas, outra cor para linhas excluídas etc.
Um bom editor de texto que faz isso é o Atom 1.0 do GitHub .
fonte