Eu tenho um repositório com arquivo foo
no ramo principal. Eu mudei para o ramo de barra e fiz algumas alterações no foo
. Como posso agora executar uma git diff
cópia entre esta cópia (que ainda não foi confirmada) e a cópia da ramificação principal?
158
git diff
, eu sempre penso em stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…--
para separar parâmetros dos argumentos do caminho?git diff -- master:foo foo
git diff -- master:foo foo
não funciona - parece tratar o argmaster:foo
como um nome de arquivo inexistente (e o ignora) em vez de um arquivo em uma ramificação. Tente alternar os últimos 2 argumentos - se funcionou, a comparação de diferenças deve ser revertida, mas a saída não muda.git diff master:foo foo
mas não vice-versa. Eu também não entendo. Com o git 1.7.9.5 / Ubuntu 12.04, pelo menos, posso fazergit diff -R master:foo foo
para obter o diff que realmente quero. Quando tento isso com o msysgit 1.9.4 / Windows 7 x64, recebofatal: unable to read 0000000000000000000000000000000000000000
. Sem-R
, recebo a mesma mensagem de erro que você com git 1.7.9.5, mas com 1.9.4 recebofatal: master:foo: no such path in the working tree
.Você está tentando comparar sua árvore de trabalho com um nome de ramificação específico, então deseja o seguinte:
Que é desta forma de git-diff (consulte a página de manual do git-diff)
Para sua informação, também existe uma opção
--cached
(aka--staged
) para visualizar o diff do que você organizou, em vez de tudo na sua árvore de trabalho:fonte
Além disso:
git diff master..feature foo
Uma vez
git diff foo master:foo
que não funciona em diretórios para mim.fonte
git diff branch1:foo master:foo
fonte
git difftool
não tem-v
opção de acordo com docs git-scm.com/docs/git-difftool . Você quis dizer-y
?também deve funcionar
fonte
git diff deployment master -- file
egit diff master deployment -- file
funciona conforme o esperado com quaisquer 2 ramificações .Para ver as alterações locais comparar com sua filial atual
Para ver o local alterado, compare com qualquer outro ramo existente
Para ver as alterações de um arquivo específico
Certifique-se de executar
git fetch
no início.fonte