1 .Просмотр журналов Git
Журналы Git не совсем удобны, чтобы просматривать их «из коробки».
git log
Использование git log
дает вам чрезвычайно детализированную информацию, и обычно не ту, что вы ищете.
Давайте будем честны. Эти журналы никого не впечатляют. Они скучны. И они полны информации, которая вам сейчас не нужна. Есть способ получше получить общее представление о том, что происходит в вашем проекте.
git log с большей наглядностью
Используя --graph
и --format
, мы можем быстро получить сводку о коммитах git в нашем проекте.
Ух ты! Вот какие красивые логи! Даже есть подобие разветвленного дерева.
Эти журналы показывают, кто над чем работал, когда были внесены изменения и как ваши изменения вписываются в общую картину.
--graph
добавляет древовидный граф слева. Это не самый стильный график, но он помогает визуализировать изменения в ветках проекта. (Читайте документы здесь.)--format
позволяет настроить формат ваших журналов. Есть предустановленные форматы на выбор, или вы можете написать собственный формат, как в этом примере. (Читайте документы здесь.)--all
включает все ссылки, теги и ветки в журналах (включая удаленные ветки). Возможно, вам не нужно все, поэтому настройте по своему усмотрению. (Читайте документы здесь.)
Смотрите документы git-log
для получения дополнительной информации о том, как вы можете повысить уровень своих журналов git.
2. Понимание конкретного коммита
Зачастую вы хотите понимать, что происходит с конкретной фиксацией. git show
может показать вам общее представление об изменениях в коммите, но также позволяет увидеть изменения в определенных файлах.
Просмотр сводки коммита
Используя флаг --stat
, вы увидите сводку коммитов вместе с файлами, которые были изменены, и сведениями о том, как они изменились.
Просмотр конкретных изменений файла для коммита
Если вы хотите погрузиться в конкретные изменения строк в конкретном файле, используйте git show
с путем к файлу.
Это дает вам определенные изменения строки для вашего файла. По умолчанию он покажет вам изменения строк вместе с тремя дополнительными строками на каждом конце, чтобы дать вам представление о том, где в файле находятся измененные строки.
Смотрите документы git-show
для получения дополнительной информации о том, как вы можете повысить уровень своего понимания коммитов git.
3. Внесение изменений
Вы создали ветку проекта, внесли некоторые изменения в свою ветку и готовы объединить эти изменения обратно в main
. Поскольку вы разветвились, другой инженер внес изменения в те же файлы. 😱
Если вы используете такой сервис, как GitHub, ваш PR сообщит вам, есть ли у вас конфликты слияния.
Git предложит вам разрешить эти конфликты слияния, прежде чем вы вернете свои изменения в main
. Это хорошо, так как вы не захотите делать всю тяжелую работу, которую делают другие.
Чтобы начать решать эту проблему локально, вы обычно выбираете один из двух путей: merge
или rebase
.
git merge vs git rebase
Когда в main
есть изменения, которые вы хотите включить в свою ветку, вы можете либо объединить (merge
) изменения, либо перебазировать (rebase
) ветку из другой точки.
merge
берет изменения из одной ветки и объединяет их с другой веткой в одном коммите с merge
.
rebase
корректирует точку, в которой ветвь фактически разветвляется, т. е. перемещает ветвь в новую начальную точку от базовой ветви.
Как правило, вы будете использовать rebase
, когда в восходящей ветке (например, main
) есть изменения , которые вы хотите включить в свою ветку. Вы будете использовать слияние, когда в ветке есть изменения, которые вы захотите вернуть в основную .
Комментарии