Введение в Git Tools

У нас есть супер эффективные инструменты, доступные с git, которые могут сделать наше отслеживание версий эффективным, что дает более глубокое значение для системы контроля версий. Эти автоматизированные инструменты избавят нас от большинства сложных задач и отслеживания при работе в филиалах.

Некоторые случаи, когда инструменты git помогли многим, можно найти подробно ниже:

Различные инструменты Git

Некоторые из областей, где инструменты git могут быть эффективно применены:

  • Выбор редакции
  • Интерактивная постановка
  • Копить и чистить
  • Подписание вашей работы
  • Инструменты для поиска - Grep
  • Переписать историю
  • Инструменты для расширенного слияния
  • Инструменты для отладки
  • Git Submodule и т. Д.

1. Выбор редакции

Один из самых эффективных инструментов для работы с коммитами. Мы можем отслеживать выполненные нами коммиты и можем ссылаться на них, основываясь на наших требованиях. Есть два способа, которыми мы можем обратиться к коммиту.

  • Одиночные или индивидуальные коммиты
  • Range фиксирует

Один из отдельных коммитов: всякий раз, когда мы фиксируем что-либо в git, генерируется соответствующий хэш-ключ SHA-1, и на основании этого ключа мы можем ссылаться на них с помощью простой команды git show. Ключ SHA - 1 генерируется из алгоритма хеширования, который принимает входные данные и генерирует 160-битное или 20-байтовое хеш-значение

  • Пример скриншота можно увидеть ниже, где git log представляет все вентили, выполненные в ветви, и мы можем сослаться на конкретный коммит с его конкретным значением хеш-функции. Здесь я имею в виду commit_test2. Мы также можем использовать краткую запись в команде show, и git определит ее ключ и предоставит подробности. Как ниже:

  • Точно так же мы можем использовать flogs и HEAD с git, чтобы получить подробную информацию о каждом событии, как показано на скриншоте ниже. Первое событие в ветви называется HEAD или Master.


Укажите диапазон фиксации: мы также можем указать диапазон фиксации, используя команду show. Это наиболее полезно, когда у нас есть несколько веток, и мы хотим знать, где они объединяются и т. Д.

  • Из вышеприведенного refA ссылается на ветвь A, а refB ссылается на точку B. Первое приведенное выше утверждение представляет диапазон фиксации между эталонной ветвью A и B, тогда как второй диапазон фиксации находится вне диапазона ветвей A и B. Третье утверждение на скриншоте выше аналогично второму.

2. Интерактивная постановка

  • С интерактивным инструментом постановки вы можете играть или добавлять больше смысла к вашим коммитам. Вы можете выбрать, какие изменения нужно поставить, а какие нет. Этот конкретный инструмент полезен, когда мы внесли изменения в ряд файлов, но мы не уверены в некоторых изменениях. Таким образом, вместо фиксации всего этого интерактивного инструмента подготовки помогает фиксировать только необходимые файлы или части в файле, решая, что нужно ставить и не ставить.
  • На приведенном ниже снимке экрана у нас есть четыре неподготовленных файла, и с помощью интерактивной подготовки с использованием параметров git add -I или git add - интерактивные, я добавил только два файла для подготовки, а оставшиеся два файла по-прежнему не связаны. Таким образом, мы можем легко зафиксировать промежуточные файлы и по-прежнему работать с неизмененными изменениями файлов и фиксировать их позже.
  • Нам нужно использовать опцию update (u или 2) в подсказке «что сейчас >>», чтобы добавить файлы в промежуточную версию.

  • Если вы увидите первый снимок экрана после обновления >> 2, 3, мы увидим, что во 2-й и 3-й строке * отмечена отметка, указывающая на выбранный файл или часть, которую необходимо подготовить, и при повторном вводе нажмите эти 2 и 3. В следующем коммите, промежуточные файлы будут зафиксированы.

  • Точно так же мы можем использовать другие интерактивные инструменты, такие как revert (3 или r), чтобы отменить изменения, внесенные в файл, diff (6 или d), чтобы получить разницу или изменение, внесенные в файл, как показано на снимке экрана выше. Я применил diff к файлу news1, где красным цветом показаны изменения, которые были удалены, и зеленым, которые были добавлены. Аналогичным образом, параметры исправления могут использоваться для создания только определенных частей определенного файла, а не всего файла.

3. Хранение и очистка

  • Иногда нам, возможно, придется переключать ветки, чтобы работать над чем-то другим, и мы не хотим фиксировать изменения, сделанные на неполной работе, но изменения необходимо отслеживать и сохранять. Решением является использование инструмента git stashing. Git stash соберет все ваши промежуточные, отслеживаемые файлы и места в стеке, чтобы мы могли повторно применить изменения, когда захотим снова поработать с ним.
  • Если я применяю git-статус к своему текущему рабочему каталогу, то это выглядит так:

  • Здесь у нас есть два промежуточных файла, а остальные файлы не установлены. Теперь, когда я применяю git stash, все мои изменения, которые отслеживаются, т.е. ставятся и не ставятся, перемещаются в стек памяти с идентификатором stash, как показано на скриншоте ниже.

  • Как только мы применяем stash и состояние git, мы видим, что в ветке нечего зафиксировать, и все мои изменения были перенесены. Мы можем увидеть версии stash, которые мы имеем в памяти, командой git stash list, как показано ниже.

  • У нас может быть две версии stash-данных, сохраненных в стеке, и мы можем восстановить их, применив команду git stash apply, которая применит верхний стек. Если мы хотим применить конкретный тайник, мы можем отправить это, как показано на скриншоте ниже.

  • Я применил (0), и мои файлы были применены обратно. Но есть одно существенное отличие, когда я применил тайник обратно. Вы можете заметить, что до применения тайника два моих файла были подготовлены и остались неизменными. Но после применения и повторного применения тайника все мои файлы не установлены. Stash не будет заботиться о файлах, которые поставлены или не установлены. Это добавляет все в неустановленное состояние. И даже после применения тайника на стеке останется память.

  • Нам нужно явно упомянуть команду сброса git stack. В качестве альтернативы, мы также можем использовать всплывающее окно состояния git, чтобы применить тайник и бросить его за один раз.

  • Вы можете увидеть на скриншоте выше, что я уронил (0), и в списке мы можем видеть (1), которая была у меня ранее, вернется в верхний стек (0)

  • Вы можете увидеть использование команды pop на снимке экрана выше, где я применяю (1) и удаляю его за один раз командой pop. В списке git stash вы могли видеть, что раньше у меня было две версии stash, но теперь только одна, так как другие были удалены.
  • Подобно stash, который представляет чистый рабочий каталог путем сохранения измененных файлов в стеке, мы также можем использовать команду git clean. Но здесь мы не сможем что-либо сохранить или повторно применить обратно, и мы должны быть осторожны и уверены в этом. Часто лучше предпочесть тайник чистому. При использовании git clean также есть несколько подопций, которые мы можем исследовать.

Вывод

Это некоторые из инструментов, которые упростили нашу грязную работу над ветками, а также есть и другие инструменты, особенно такие как Submodule, Debug, Advanced Merge и т. Д., Которые могут помочь нам в различных ситуациях при работе с ветками.

Рекомендуемые статьи

Это руководство по Git Tools. Здесь мы обсуждаем различные инструменты Git в подробном объяснении. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Что такое Git Branch?
  2. Что такое Git?
  3. Git Терминология
  4. Команды GIT
  5. Система контроля версий GIT
  6. Git Push
  7. Три стадии жизненного цикла Git с рабочим процессом