ГлавнаяОперационные системыLinuxКак управлять Git в Emacs с помощью Magit

Как управлять Git в Emacs с помощью Magit

Git — великолепный инструмент. Это упрощает процесс контроля версий и позволяет пользователям легко обмениваться кодом и вносить его друг в друга. Git также не зависит от системы и контента. Это означает, что он может работать на любой платформе, что делает его очень полезным и востребованным инструментом как для программисты , так и для обычных пользователей.

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

Магит — это мощный интерфейс для Git в Emacs. Он позволяет вам легко и беспрепятственно использовать Git в Emacs для создания, управления и сохранения репозиториев Git с помощью простых комбинаций клавиш Emacs. Мало того, Magit также автоматически адаптирует существующие репозитории Git через свой интерфейс. Это означает, что вы можете установить Magit прямо сейчас и сразу же использовать его для управления контролем версий.

Как работает Магит

Magit по своей сути представляет собой фарфор для Git в Emacs. Он ведет себя как контейнерная программа , который преобразует различные функции Git либо в сочетания клавиш, либо в визуальные подсказки. Это означает, что Magit позволяет пользователю, практически не имеющему опыта использования Git, правильно использовать его для контроля версий.

Пример Emacs Magit 04 Magit Commit

Читайте также:

Contents

Как работает Магит

MMS">Как использовать Emacs для воспроизведения музыки с помощью EMMS

Установка Магита

Зная это, добавить Magit в ваш клиент Emacs невероятно просто. На данный момент Magit доступен в репозитории MELPA в виде пакета. Это означает, что для его установки вам нужно будет указать Emacs сначала просмотреть этот репозиторий. Для этого вы можете добавить следующий код Lisp в файл init.el:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/"))
(package-initialize)

Оттуда вы можете нажать Alt+ Xи затем ввести «package-install». Появится небольшое приглашение, в котором вы сможете ввести имя пакета Emacs, который хотите установить. В этом случае вам нужно ввести «magit» и нажать Enter. Это, в свою очередь, загрузит исходный код Magit, затем скомпилирует и установит его для вас.

Установлен Emacs Magit 05 Magit

Читайте также: 5 скрытых функций, которые можно использовать для улучшения Emacs

Использование Магита

Использовать Magit относительно просто. Одна из наиболее важных комбинаций клавиш, которые вы будете использовать с ним, — это Ctrl+ X, затем G.

Откроет

Установка Магита

на котором будут отображены текущие изменения статуса для конкретного репозитория. Например, я могу нажать Ctrl+ X, затем Gв репозитории, и он отобразит последний статус, а также некоторые из коммиты, которые я сделал недавно.

Каталог Git Emacs Magit 06

Добавление и сохранение файлов

Одной из ключевых особенностей Magit является то, что он активно просматривает все файлы в текущем репозитории Git. Это означает, что в отличие от традиционных методов Git вы можете легко добавлять неотслеживаемые файлы в систему контроля версий. Например, я могу нажать Ctrl+ X, а затем G, чтобы отобразить изменения, которые я внес в текущий репозиторий.

Emacs Magit 10 неподготовленных файлов Git

Кроме того, такой способ позволяет вам просматривать и выбирать только те файлы, которые вы хотите добавить или зафиксировать. Например, если у вас есть два новых файла и вы хотите добавить только один из них. Вы можете легко выбрать нужный файл и нажать S, чтобы загрузить его в Magit. Это похоже на ввод git stage ./fileв командной строке.

Emacs Magit 11 Частично подготовленные файлы Git

После того как файл находится в промежуточном режиме, вы можете зафиксировать эти изменения в файловой системе Git. Для этого вы можете просто дважды нажать C, чтобы сообщить Magit, что вы хотите зафиксировать поэтапные изменения в Git. Откроется буфер сообщений о коммите, где вы сможете ввести краткое описание вашего ком

Использование Магита

нажать Ctrl+ C, чтобы сохранить фиксацию.

Пример Git-коммита для Emacs Magit 12

Читайте также: Как использовать электронную почту в Emacs

Создание нового репозитория Git

Однако функции Magit не ограничиваются только существующими репозиториями Git. При этом с помощью этой программы также можно создать новый репозиторий с нуля.

Например, вы можете открыть каталог, отличный от Git, нажав Ctrl+ X, затем Dи введя путь к этому каталогу. Это скажет Emacs загрузить эту конкретную папку как Направленный буфер .

Добавление и сохранение файлов

//saintist.ru/wp-content/uploads/2024/05/emacs-magit-07-regular-directory.png" alt="Обычный каталог Emacs Magit 07">

После этого вы можете нажать Ctrl+ X, затем G, чтобы запустить Magit. Это заставит программу искать любые существующие файлы Git в текущем каталоге. Вы можете нажать Enterздесь, чтобы заставить программу создать новый репозиторий в текущей папке.

Emacs Magit 08 Создание нового репозитория Git

Оттуда Magit создаст экран состояния, на котором будут отображены все файлы в текущем каталоге. Затем вы можете нажать Sв заголовке «Неотслеживаемые файлы» и C, чтобы добавить и зафиксировать эти файлы в файловой системе Git.

Emacs Magit 09 Новый пустой репозиторий Git

Читайте также: 5 полезных пакетов Emacs для повышения производительности

Создание и переключение веток Git

Еще одна замечательная особенность Magit — возможность манипулировать ветвями Git. Это означает, что вы можете легко создавать и перемещаться между ветвями репозитория изнутри программы.

Подобно командам выше, вы можете получить доступ к этой функции, нажав Ctrl+ X, затем G. Затем вы можете нажать B, чтобы сообщить компании Magit, что вы хотите получить доступ к ее функции филиала.

Функция ветки Emacs Magit 13

Здесь вы можете выполнять ряд функций Git, связанных с ветвями. Например, я могу нажать N, чтобы указать Magit создать новую ветку для текущего репозитория. Затем он спросит меня, откуда я хочу, чтобы ветка начиналась, а также короткое имя для нее.

Emacs Magit 14 Git ответвление от

В моем случае это будет первая ветка, которую я сделаю для этого репозитория. Таким образом, я могу просто нажать Enterна первый вопрос и указать «Ветка-1» в качестве его имени.

Emacs Magit 15 Название ветки Git

После этого вы можете переключиться на только что созданную ветку. Для этого вы можете нажать Ctrl+ X, затем G, чтобы открыть экран состояния, и нажать B, чтобы откройте функцию «Ветвь».

Затем вы

Создание нового репозитория Git

сообщить Magit, что вы хотите перейти на другую ветку Git. В моем случае я наберу имя «Ветка-1», чтобы переключиться на созданную мной ветку.

Emacs Magit 16 Новая ветка Git

С этого момента вы работаете над другой веткой Git. Таким образом, вы также можете использовать функции добавления и фиксации, описанные выше, для внесения изменений в ваш репозиторий для конкретной ветки.

Новый филиал Emacs Magit 17

Отправка и извлечение с удаленного Git

Еще одна функция, которую вы можете использовать в Magit, — это возможность общаться с онлайн-сервер Git . При этом программа позволяет вам как отправлять, так и извлекать данные с определенного пульта Git. Это может быть невероятно полезно, если вы используете Git для совместного проекта с другими людьми.

Пример удаленного репозитория Emacs Magit 18

Добавить новый удаленный онлайн-сервер для локального репозитория относительно просто. Для этого вам нужно сначала нажать Ctrl+ X, затем G, чтобы открыть экран состояния. Затем вам нужно нажать Shift+ M, чтобы открыть функцию добавления Magit.

Emacs Magit 19 Добавление функции Git

После этого вы можете нажать A, чтобы добавить новый удаленный Git. Затем Magit запросит имя и URL-адрес пульта, который вы хотите добавить. В моем случае я буду использовать свою учетную запись Github, чтобы связать мой локальный репозиторий с онлайн-репозиторием.

Удаленная ссылка Emacs Magit 20

Теперь вы можете выполнить первоначальную отправку данных в свой онлайн-репозиторий. Для этого вам нужно вернуться на экран статуса и нажать Shift+ P. Это вызовет функцию Push Magit, и вы можете нажать здесь P, чтобы отправить текущее дерево Git в Интернет.

Ф<h3><span id=Создание и переключение веток Gitдругой стороны, все последние изменения также можно получить в удаленном репозитории. Как и в случае с git pull, вы также можете использовать Magit для получения обновлений для определенной ветки и репозитория.

Для этого вам нужно вернуться на экран статуса Магита и нажать Shift+ F. Затем вы можете снова нажать P, чтобы получить данные из главной ветки удаленного устройства.

Функция извлечения Emacs Magit 22

Объединение деревьев Git

Наконец, одна из наиболее примечательных особенностей Magit заключается в том, что она позволяет легко объединять деревья Git изнутри Emacs. Это может быть особенно полезно, если вы пытаетесь исправить ошибку в своем коде и хотите быстро реализовать изменения из экспериментальной ветки.

Филиал Emacs Magit 23 впереди Master

Одна важная вещь, на которую следует обратить внимание: для объединения дерева Git вам необходимо убедиться, что ветки, которые вы хотите объединить, в данный момент чистые. Например, если я хочу объединить свою ветку 1 с основной, мне нужно подготовить и зафиксировать все изменения между этими двумя ветвями.

Emacs Magit 24 возвращается к Master

Зная это, объединить ветку Git с помощью Magit относительно легко. Для этого вам нужно нажать Ctrl+ X, затем G, чтобы перейти на экран статуса Magit. Отсюда вам нужно нажать M, чтобы сообщить Magit, что вы хотите объединить деревья Git.

Функция слияния Git в Emacs Magit 25

Оказавшись там, вы можете снова нажать M, чтобы начать процесс объединения. При этом Магит спросит у вас ветку, которую вы хотите объединить с основным деревом. В моем случае я буду вводить «Ветвь-1», чтобы конкретно сообщить Magit, что я хочу, чтобы эта ветвь объединилась с главным деревом.

Emacs Magit 26 Master объединен с филиалом

Читайте также: Как использовать Sed в Linux для основных задач оболочки

Часто задаваемые вопросы

Можно ли удалить файл в Магите?

Да! В Магите можно удалить файл. Подобно промежуточному файлу, вам нужно нажать Ctrl+ X, затем G, чтобы перейти на экран статуса Magit. Отсюда вы можете выбрать нужный файл и нажать U, чтобы отменить его.

Кроме того, вы также можете нажать Shift+ U, находясь на этом экране, чтобы удалить все проиндексированные в данный момент файлы в буфере Magit.

Может ли Magit создавать патчи кода, похожие на git patch?

Да! Вы можете легко использовать Magit для создания исправлений

Отправка и извлечение с удаленного Git

жно нажать Ctrl+ X, затем Gи нажать Shift+ W. Это сообщит Magit, что вы хотите либо создать, либо применить патч в этом репозитории кода.

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

Можно ли отменить функцию Magit во время ее работы?

Да! Как и все функции Emacs, вы можете легко отменить любое действие в Magit, нажав Ctrl+ G. Сюда входят все основные и дополнительные меню Magit, а также любые подсказки, в которые вы входите.

Мало того, вы также можете принудительно остановить работающую функцию, трижды нажав Ctrl+ G. Это может быть особенно полезно, если у вас медленный компьютер и функция Magit замедляет работу вашего компьютера.

Изображение предоставлено: Unsplash

Объединение деревьев Git

Часто задаваемые вопросы

Можно ли удалить файл в Магите?

Может ли Magit создавать патчи кода, похожие на git patch?

Можно ли отменить функцию Magit во время ее работы?

ПОХОЖИЕ СТАТЬИ

Популярные записи