Проблема існуючих систем управління версіями полягає не стільки в їх складності; Справа в тому, що там є така велика кількість інформації, що початківцям може бути дуже важко побачити ліс за деревами (тобто зрозуміти, що вони роблять, і не потрібно вчитися, коли вони тільки починають роботу ).
Ця публікація буде зосереджена на тому 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