После запроса Git его вывод дает сводку о сумме изменения.
Как я могу увидеть подробные изменения каждого или некоторых файлов?
Хорошо, вот мой вопрос Джефроми:
Как мне узнать, тянет ли я к мастеру? Все, что я сделал, это "git pull".
На что указывает master и в чем разница между master и HEAD, двумя заголовками Git по умолчанию?
Как я могу увидеть подробные изменения в конкретном файле?
Как увидеть изменение итогового вывода по последнему
git pull
снова ?Какая разница между
git diff
иgit whatchanged
?
git diff
явно выводится разница, тогда какgit whatchanged
явно выводится список информации о фиксации, каждая из которых содержит список измененных файлов.Ответы:
Предположим, вы тянете к мастеру. Вы можете обратиться к предыдущей позиции
master
bymaster@{1}
(или дажеmaster@{10.minutes.ago}
; см. Раздел, посвященный указанию ревизий на странице руководства git-rev-parse ), чтобы вы могли делать такие вещи, какСмотрите все изменения:
git diff master@{1} master
Смотрите изменения в данном файле:
git diff master@{1} master <file>
Просмотрите все изменения в данном каталоге:
git diff master@{1} master <dir>
Снова просмотрите сводку изменений:
git diff --stat master@{1} master
Что касается вашего вопроса «как мне узнать, что я нахожусь на мастере» ... ну, использование веток является важной частью рабочего процесса Git. Вы всегда должны знать, в какой ветке вы находитесь - если вы вытащили изменения, вы захотите перетащить их в нужную ветку! Вы можете увидеть список всех веток, отмеченных звездочкой рядом с выбранной в данный момент ветвью, с помощью команды
git branch
. Текущее имя ветки также печатается вместе с выводомgit status
. Я настоятельно рекомендую бегло просмотреть справочные страницы команд, которые нужно использовать - это отличный способ медленно получить некоторые знания.И ваш последний вопрос:
HEAD
это имя текущей проверенной ветки. Вы действительно можете использоватьHEAD
иHEAD@{1}
в этом контексте, но несколько более надежно использовать ветки, поскольку если вы пойдете и проверите другую ветку.HEAD
теперь это вторая ветка, аHEAD@{1}
сейчасmaster
- не то, что вы хотите!Чтобы избавиться от множества подобных вопросов, вам, вероятно, стоит взглянуть на учебник по Git. В сети миллион, например:
источник
git diff master@{1} master
иначе изменение будет отображаться «наоборот», то есть вставки становятся удалениями и т. Д.git diff master@{1} master
не работала для меня, аgit diff master~1 master
выполняла работу за меня.git reflog master
понять что.fatal: ambiguous argument 'firstDesign@': unknown revision or path not in the working tree.
Я все время получаю эту ошибку. Хотя git reflog firstDesign имеет этот вывод .Скажем, вы выполняете git pull следующим образом:
Вы можете увидеть разницу в том, что изменилось, используя номера ревизий:
источник
git diff --stat a407564..9f52bed
" или просто резюме "git diff --summary a407564..9f52bed
"Сама команда работает так:
и по умолчанию относится к текущей ветке. Вы можете проверить свои ветки, используя
Здесь будут перечислены ваши локальные и удаленные ветки, например, так (добавлен
---
разделитель между локальным и удаленным, чтобы сделать его более понятным)Когда вы затем посмотрите на одно удаленное репо, вы увидите, о чем говорите:
будет перечисляться следующим образом:
Таким образом, довольно легко быть уверенным, откуда тянуть и куда толкать.
Самый простой и элегантный способ (imo):
Это даст вам два блока информации об изменениях между вашим последним запуском и текущим состоянием работы. Пример вывода (я добавил
---
разделитель между--stat
и--dirstat
выводом, чтобы было понятнее):источник
Это своего рода хакерский прием, но он позволит вам использовать такие графические инструменты, как
gitk
илиgitg
илиgit-gui
:Ответ с наибольшим количеством голосов дает лучший способ использовать инструмент git, но я использую этот метод, потому что затем могу использовать инструменты с графическим интерфейсом, чтобы увидеть изменения: P
Затем у меня был бы дополнительный шаг: сделать,
git checkout .
а затем сделать ещеgit pull
раз, чтобы я правильно извлек и слил, но я ценю возможность исследовать различия в графическом интерфейсе достаточно, чтобы справиться с дополнительными двумя шагами.источник