git mergers полный путь к файлам - PullRequest
0 голосов
/ 03 сентября 2010

Добрый день. Мне нужно найти способ найти полный путь к измененным файлам, когда сообщается после git-слияния.Git обычно помещает ... / rest / of / path / to / the / file, если путь слишком длинный.Но я пытаюсь разобрать его, и в зависимости от местоположения файла я хочу иметь возможность выбрать подходящее действие при сборке (написание сценариев сборки). Есть ли флаг, который мне не хватает, я читаю страницы руководства и могукажется, ничего не нашел.Спасибо за вашу помощь.

1 Ответ

1 голос
/ 04 сентября 2010

Я собираюсь предположить, что вы только что сделали слияние, поэтому я могу обозначить его как HEAD.

Автоматический вывод git merge по существу git diff-tree --stat -c HEAD.(Или, может быть, git diff --stat HEAD^ HEAD; они почти одинаковы, и это вызов внутри источника git, так что шесть из одного, полдюжины из другого.) Опция --stat дает вам этот "симпатичный" вывод.Если вы хотите получить полную информацию, самый быстрый способ:

git diff-tree -c --numstat HEAD
# or git diff --numstat HEAD^ HEAD

Первый столбец - это количество добавленных строк, второй - количество удаленных строк, а третий - полное имя файла.

Если слияние уже давно в истории, просто замените HEAD на соответствующий SHA1.Если слияние выполняется, и вы изучаете слияние, которое вы собираетесь совершить (скажем, после разрешения конфликтов), используйте git diff --numstat --cached.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...