Как я могу различить дерево и удаленную ветку в git?

Мне нужно различить два объекта в git. Один - это дерево (каталог) в моем рабочем каталоге, а другой - удаленная ветвь. Я могу сделать это, если найду SHA дерева и использую его в аргументе моей команды git diff вместе с удаленной веткой. Тем не менее, я пытаюсь найти способ не копаться в SHA в первую очередь.

Так, например, если:

My_Working_Dir
  file1
  file2
  Dir1
    file3
    file4

remote_branch/master
  file3
  file4

Тогда мне нравится иметь возможность выпускать что-то вроде этого:

git diff Dir1  remote_branch/master

Это работает, если я заменяю Dir1 его SHA, но не если я просто пытаюсь использовать имя каталога. Я также попытался использовать diff-tree. Но это тоже не помогает. Обратите внимание, что remote_branch/master не имеет каталога Dir1.

Любая помощь приветствуется.

Заранее спасибо.

2 ответа

Решение

Ты можешь использовать <branch>:<file_path> запись с git diff

git diff remote_branch/master:file3 HEAD:Dir1/file3

git diff remote_branch/master:file4 HEAD:Dir1/file4

Вы можете просто использовать аргумент пути после --,

Т.е.

git diff remote_branch/master -- Dir1

Другие вопросы по тегам