Как управлять Git в Emacs с помощью Magit
Git — великолепный инструмент. Это упрощает процесс контроля версий и позволяет пользователям легко обмениваться кодом и вносить его друг в друга. Git также не зависит от системы и контента. Это означает, что он может работать на любой платформе, что делает его очень полезным и востребованным инструментом как для программисты , так и для обычных пользователей.
Однако одна из проблем с Git заключается в том, что для полного использования его функций требуется использование утилиты командной строки. Это означает, что для того, чтобы использовать Git, вам необходимо изучить определенное количество команд . Однако если вы используете Эмакс , может быть лучший способ.
Магит — это мощный интерфейс для Git в Emacs. Он позволяет вам легко и беспрепятственно использовать Git в Emacs для создания, управления и сохранения репозиториев Git с помощью простых комбинаций клавиш Emacs. Мало того, Magit также автоматически адаптирует существующие репозитории Git через свой интерфейс. Это означает, что вы можете установить Magit прямо сейчас и сразу же использовать его для управления контролем версий.
Как работает Магит
Magit по своей сути представляет собой фарфор для Git в Emacs. Он ведет себя как контейнерная программа , который преобразует различные функции Git либо в сочетания клавиш, либо в визуальные подсказки. Это означает, что Magit позволяет пользователю, практически не имеющему опыта использования Git, правильно использовать его для контроля версий.
Читайте также: 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, затем скомпилирует и установит его для вас.
Читайте также: 5 скрытых функций, которые можно использовать для улучшения Emacs
Использование Магита
Использовать Magit относительно просто. Одна из наиболее важных комбинаций клавиш, которые вы будете использовать с ним, — это Ctrl+ X, затем G.
Откроет
Установка Магита
на котором будут отображены текущие изменения статуса для конкретного репозитория. Например, я могу нажать
Ctrl+
X, затем
Gв репозитории, и он отобразит последний статус, а также некоторые из коммиты, которые я сделал недавно.
Добавление и сохранение файлов
Одной из ключевых особенностей Magit является то, что он активно просматривает все файлы в текущем репозитории Git. Это означает, что в отличие от традиционных методов Git вы можете легко добавлять неотслеживаемые файлы в систему контроля версий. Например, я могу нажать Ctrl+ X, а затем G, чтобы отобразить изменения, которые я внес в текущий репозиторий.
Кроме того, такой способ позволяет вам просматривать и выбирать только те файлы, которые вы хотите добавить или зафиксировать. Например, если у вас есть два новых файла и вы хотите добавить только один из них. Вы можете легко выбрать нужный файл и нажать S, чтобы загрузить его в Magit. Это похоже на ввод git stage ./file
в командной строке.
После того как файл находится в промежуточном режиме, вы можете зафиксировать эти изменения в файловой системе Git. Для этого вы можете просто дважды нажать C, чтобы сообщить Magit, что вы хотите зафиксировать поэтапные изменения в Git. Откроется буфер сообщений о коммите, где вы сможете ввести краткое описание вашего ком
Использование Магита
нажать
Ctrl+
C, чтобы сохранить фиксацию.
Читайте также: Как использовать электронную почту в 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здесь, чтобы заставить программу создать новый репозиторий в текущей папке.
Оттуда Magit создаст экран состояния, на котором будут отображены все файлы в текущем каталоге. Затем вы можете нажать Sв заголовке «Неотслеживаемые файлы» и C, чтобы добавить и зафиксировать эти файлы в файловой системе Git.
Читайте также: 5 полезных пакетов Emacs для повышения производительности
Создание и переключение веток Git
Еще одна замечательная особенность Magit — возможность манипулировать ветвями Git. Это означает, что вы можете легко создавать и перемещаться между ветвями репозитория изнутри программы.
Подобно командам выше, вы можете получить доступ к этой функции, нажав Ctrl+ X, затем G. Затем вы можете нажать B, чтобы сообщить компании Magit, что вы хотите получить доступ к ее функции филиала.
Здесь вы можете выполнять ряд функций Git, связанных с ветвями. Например, я могу нажать N, чтобы указать Magit создать новую ветку для текущего репозитория. Затем он спросит меня, откуда я хочу, чтобы ветка начиналась, а также короткое имя для нее.
В моем случае это будет первая ветка, которую я сделаю для этого репозитория. Таким образом, я могу просто нажать Enterна первый вопрос и указать «Ветка-1» в качестве его имени.
После этого вы можете переключиться на только что созданную ветку. Для этого вы можете нажать Ctrl+ X, затем G, чтобы открыть экран состояния, и нажать B, чтобы откройте функцию «Ветвь».
Затем вы
Создание нового репозитория Git
сообщить Magit, что вы хотите перейти на другую ветку Git. В моем случае я наберу имя «Ветка-1», чтобы переключиться на созданную мной ветку.
С этого момента вы работаете над другой веткой Git. Таким образом, вы также можете использовать функции добавления и фиксации, описанные выше, для внесения изменений в ваш репозиторий для конкретной ветки.
Отправка и извлечение с удаленного Git
Еще одна функция, которую вы можете использовать в Magit, — это возможность общаться с онлайн-сервер Git . При этом программа позволяет вам как отправлять, так и извлекать данные с определенного пульта Git. Это может быть невероятно полезно, если вы используете Git для совместного проекта с другими людьми.
Добавить новый удаленный онлайн-сервер для локального репозитория относительно просто. Для этого вам нужно сначала нажать Ctrl+ X, затем G, чтобы открыть экран состояния. Затем вам нужно нажать Shift+ M, чтобы открыть функцию добавления Magit.
После этого вы можете нажать A, чтобы добавить новый удаленный Git. Затем Magit запросит имя и URL-адрес пульта, который вы хотите добавить. В моем случае я буду использовать свою учетную запись Github, чтобы связать мой локальный репозиторий с онлайн-репозиторием.
Теперь вы можете выполнить первоначальную отправку данных в свой онлайн-репозиторий. Для этого вам нужно вернуться на экран статуса и нажать Shift+ P. Это вызовет функцию Push Magit, и вы можете нажать здесь P, чтобы отправить текущее дерево Git в Интернет.
Создание и переключение веток Gitдругой стороны, все последние изменения также можно получить в удаленном репозитории. Как и в случае с
git pull
, вы также можете использовать Magit для получения обновлений для определенной ветки и репозитория.
Для этого вам нужно вернуться на экран статуса Магита и нажать Shift+ F. Затем вы можете снова нажать P, чтобы получить данные из главной ветки удаленного устройства.
Объединение деревьев Git
Наконец, одна из наиболее примечательных особенностей Magit заключается в том, что она позволяет легко объединять деревья Git изнутри Emacs. Это может быть особенно полезно, если вы пытаетесь исправить ошибку в своем коде и хотите быстро реализовать изменения из экспериментальной ветки.
Одна важная вещь, на которую следует обратить внимание: для объединения дерева Git вам необходимо убедиться, что ветки, которые вы хотите объединить, в данный момент чистые. Например, если я хочу объединить свою ветку 1 с основной, мне нужно подготовить и зафиксировать все изменения между этими двумя ветвями.
Зная это, объединить ветку Git с помощью Magit относительно легко. Для этого вам нужно нажать Ctrl+ X, затем G, чтобы перейти на экран статуса Magit. Отсюда вам нужно нажать M, чтобы сообщить Magit, что вы хотите объединить деревья Git.
Оказавшись там, вы можете снова нажать M, чтобы начать процесс объединения. При этом Магит спросит у вас ветку, которую вы хотите объединить с основным деревом. В моем случае я буду вводить «Ветвь-1», чтобы конкретно сообщить Magit, что я хочу, чтобы эта ветвь объединилась с главным деревом.
Читайте также: Как использовать 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 во время ее работы?