Проблема існуючих систем управління версіями полягає не стільки в їх складності; Справа в тому, що там є така велика кількість інформації, що початківцям може бути дуже важко побачити ліс за деревами (тобто зрозуміти, що вони роблять, і не потрібно вчитися, коли вони тільки починають роботу ).
Ця публікація буде зосереджена на тому git
, а також описати, як керувати нею від Emacs за допомогою додаткового пакету, який називається magit
. Так , git
це складно, але вам не потрібно багато вчитися, щоб продуктивно використовувати це з метою, яку ви описуєте.
Я припускаю, що ви git
встановили (якщо цього не зробите, отримайте його тут ), і що ви зовсім не хочете залишати Emacs.
Встановлення magit
magit
є git
передумови для Emacs. Він доступний у MELPA, і встановити його можна за допомогою:
M-x package-install
RET magit
RET
Якщо ви не ввімкнули MELPA у своїй конфігурації, ви можете знайти інструкції, як це зробити тут .
Налаштування сховища
Скажімо, ~/writing
у вашому домашньому каталозі є папка, яка містить один або кілька документів, які ви хочете поставити під контроль версій.
- Відкрийте папку в Dired: C-x d
~/writing
RET
- Відкрийте оболонку: M-x
shell
RET
- Введіть
git init
і натисніть RET.
Це воно. Тепер у вас є git
сховище. Не потрібно «реєструвати» його ніде. git
є розподіленою системою управління версіями; для відстеження змін не потрібен віддалений сервер.
Перевірка стану вашого сховища
- Поверніться до буфера Dired, який містить список файлів у вашому сховищі.
- Зробіть M-x
magit-status
RET.
Ви можете думати про буфер, який з'являється як "панель управління" для роботи з вашим сховищем. Для нового сховища воно виглядає приблизно так:
Ви можете переміщатися між різними розділами цього буфера за допомогою n( magit-goto-next-section
) та p( magit-goto-previous-section
).
Ви можете оновити буфер, натиснувши g( magit-refresh
).
Зауважте, що ви можете створити буфер статусу з будь-якого файлу чи каталогу, що належать до сховища, яке ви створили раніше.
Додавання файлів
Як видно на скріншоті, у сховищі є три файли, які git
наразі не відстежуються. Щоб сказати git
почати відстеження файлу, вам потрібно його поетапно : Позначаючи точку на файлі, який потрібно додати, натисніть s. Буфер стану буде виглядати приблизно так:
Здійснення
Після постановки одного або декількох файлів ви можете зробити їх, натиснувши c c. Це виведе буфер, який виглядає приблизно так:
Введіть повідомлення про фіксацію вгорі, а потім натисніть, C-c C-cщоб завершити виконання. (Щоб скасувати, натисніть C-c C-k.)
Буфер стану буде виглядати приблизно так:
Постановочні зміни
Якщо ви внесете зміни до відстежуваного файлу, вони будуть вказані в окремому розділі ("Ненаписані зміни") в буфері стану:
Щоб переглянути зміни, внесені у файл, перейдіть до цього рядка Modified file-1.txt
та натисніть TAB:
Щоб змінити ці зміни, натисніть s:
Перегляд минулих комітетів
Нарешті, якщо ви хочете переглянути минулі комісії, ви можете натиснути l l(це два малі регістри):
Як завжди, ви можете орієнтуватися в буфері, який додається nі p. Magit покаже зміни, пов'язані з окремими комісіями, переліченими в цьому буфері, в окремому вікні.
Підсумок
З оболонки:
git init
: Ініціалізувати git
сховище в поточному каталозі
З будь-якого файлу чи каталогу, пов’язаних із git
сховищем:
З буфера стану:
Це воно. :)
git
іmagit
- github.com/magit/magit - оскільки ви вже трохи пограли з цим. Напевно, ви захочете ознайомитись із параметрами командного рядка, щоб ви краще зрозуміли, щоmagit
робиться. Emacs не призначений для некодерів, але ви були досить довго на сцені, щоб цього не боятися - :) Ви також можете спробувати пограти зgist
: github.com/defunkt/gist.el