Quero realizar uma operação de comparação entre um arquivo que existe no disco e um arquivo que não existe mais porque eu o movi.
Aqui está a situação.
- Eu tinha um arquivo que existia em uma pasta. Vamos chamá-lo de
./src/A.txt
. - Mudei
A.txt
para uma nova pasta. Agora ela se chama./doc/A.txt
. - Eu editei
./doc/A.txt
.
Agora quero comparar ./doc/A.txt
com o estado do ./src/A.txt
que existe no branch origin/main
. Claro, esse arquivo não existe realmente no diretório de trabalho atual.
Acredito que uma maneira possível de fazer isso seria fazer o seguinte:
git checkout origin/main ./src/A.txt
git diff ./src/A.txt ./doc/A.txt
(Edição: Não, isso não funciona. Use diff ./src/A.txt ./doc/A.txt
em vez disso.)
Existe uma maneira de fazer isso "diretamente"?
Talvez algo como
git diff ./src/A.txt@origin/main ./doc/A.txt
Você pode obter o que deseja com:
ou