Какую систему контроля версий использовать?

Я смотрю на использование системы контроля версий, чтобы гарантировать, что я смогу вернуться к определенной версии для всех документов в ~, если потребуется.

Какой инструмент лучше всего подходит для этого, учитывая, что:

  • У меня нет большого опыта работы с системами контроля версий
  • Некоторые файлы будут простыми текстовыми, но будут некоторые Файлы Libre-Office также

Инструмент должен:

  • Быть простым в настройке, запуске и обслуживании
  • Иметь простые для понимания параметры конфигурации какие каталоги отслеживать, как долго, как часто следует регистрировать изменения и т.

    Какой инструмент лучше всего подходит для меня?

5
задан 3 November 2012 в 19:39

8 ответов

Хорошо известными версиями систем управления являются CVS, SVN (subversion) и GIT. Нет необходимости думать о старом CVS, так что это оставляет нас SVN и GIT.

Для вашего ограниченного использования я не думаю, что это действительно имеет значение, какой вы выберете, поэтому я бы посоветовал посмотреть, кто из ваших знакомых использует один из них, и выбрать его:)

Если вы В поисках простоты использования для более сложных вещей (реальный контроль версий кода и т. д.) я бы предложил использовать GIT. В основном «они» говорят, что SVN был обновлением для CVS, а GIT снова является «обновлением» для SVN. Я лично считаю, что преимущества GIT по сравнению с SVN предназначены именно для нескольких пользователей и нескольких филиалов, поэтому, возможно, вам не стоит об этом беспокоиться.

С другой стороны, почему бы не получить некоторый опыт с лучшим вариантом, вы никогда не знаете, что вы хотите сделать в будущем.

Пожалуйста, ознакомьтесь с информацией о них

0
ответ дан 3 November 2012 в 19:39

Я бы порекомендовал git, потому что:

  1. Он прост в использовании
  2. Вы можете бесплатно разместить его на github
  3. Для Windows Вы можете использовать GitHub для Windows , который дает вам графический интерфейс.
  4. Это быстро
  5. Подсветка синтаксиса, если вам это нужно на веб-сайте github.
  6. Вы можете запустить его локально, что делает его идеальным для личных проектов.
0
ответ дан 3 November 2012 в 19:39

Я не думаю, что вы хотите сделать это. Контроль источника только для этого, контроль источника. Большинство из них не очень хорошо обрабатывают двоичные файлы (например, изображения, музыку, фильмы и т. Д.).

Кроме того, СКМ будут построчно рассылать, какие данные изменились. Поэтому каждый раз, когда вы входите или выходите из системы, вы будете изменять некоторые данные. Вам придется все время «объединять» или «фиксировать». Я почти уверен, что это не то, что вы хотите.

Тем не менее, есть пара действительно хороших инструментов.

Back-In-Time потрясающий и имеет просмотрщик различий. Дежа Дупе по умолчанию, но я не думаю, что это очень многофункциональный. grsync может предоставить вам список файлов с резервной копией, которые были изменены. и старый добрый rsync вариант.

Если вы настаиваете на использовании SCM, тогда я рекомендую git, но размещенный локально. Добавьте .gitignore, который исключает все двоичные файлы. А еще лучше, вы можете попробовать использовать Verson для управления вашими каталогами конфигурации. Опять же, вам придется следить за двоичными файлами.

0
ответ дан 3 November 2012 в 19:39

Прочитывая Ваш вопрос снова, я думаю, что Вы хотите, локальный репозиторий, созданный с инструментом такой как svn, и сохраняемый с его frontend, rapidsvn. Это, казалось бы, удовлетворяло бы Вашей цели особенно хорошо: локальный репозиторий мог быть на Вашем основном жестком диске или на внешнем диске. Важно отметить, что управление версиями подходит лучше всего для файлов исходного кода или текстовых файлов или документов и не подходит для мультимедийных файлов. Dropbox или Ubuntu One было бы лучше для такого резервного копирования. Кроме того, можно вернуться к предыдущим версиям файлов с dropbox.

Так или иначе я кратко покажу как gui инструмент rapidsvn работы и как svn используется от командной строки.

Во-первых, установите необходимые файлы с

sudo apt-get install subversion rapidsvn

Больше информации доступно на официальном сайте для rapidsvn, хотя важно отметить, что необходимо все еще создать репозиторий SVN с командной строкой сначала. Удостоверьтесь, что Вы на верхнем уровне Вашей домашней папки (войти cd добираться до него при необходимости) и входить:

svnadmin create --fs-type fsfs ~/svn

Затем создайте начальную папку с

svn mkdir file:///home/mike/svn/folder -m "initial folder"

Используя руководство по быстрому началу работы мы можем загрузиться rapidsvn, щелкните правой кнопкой по закладкам и добавьте Ваш репозиторий путем нажатия на Checkout New Working Copy, и с тех пор можно управлять файлами, как Вы желаете с контролем, импортом и фиксациями.

enter image description here

Я думаю, что это - вероятно, просто gui, который Вы искали, поскольку он может легко управлять всеми Вашими файлами, и легче настроить опции, чем использование svn на командной строке.

2
ответ дан 3 November 2012 в 19:39

Я использовал CVS , Subversion , git и несколько коммерческих пакетов. Я только что перенес свою личную VCS из CVS в git (я думал, что это будет сложнее, чем на самом деле, я должен был сделать это давно).

1121 Я бы порекомендовал git. На основании того, что вы ищете.

Я новичок без большого опыта работы с системами контроля версий

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

Лучший способ изучить git - это скачать книгу Pro Git Скотта Чакона (бесплатно), создать тестовое хранилище (mkdir <project name>; cd <project name>; git init) и взломать его. На самом деле не требуется никаких усилий для создания репозитория и не беспокойтесь о том, чтобы что-то напортачить в тестовом репозитории, поскольку каждый репозиторий независим. Хранилище может быть легко удалено (cd <project name>; rm -rf .git).

Несколько файлов будут простыми текстовыми файлами, но будут некоторые файлы Libre-Office

Не существует различий с git для типов файлов (ASCII против двоичных файлов), однако файлы ASCII оптимальны для просмотра различий и слияния конфликтов.

Быть простым в настройке, запуске и обслуживании

git можно настроить несколькими способами, все зависит от ваших потребностей. Для начала, все, что вам нужно сделать, это установить git (sudo apt-get install --install-recommends git-core) и создать репозиторий (как показано выше). Если вы работаете на нескольких машинах, вы можете настроить git поверх ssh (он есть в книге). Еще лучше, поскольку ваши потребности расширяются, вы не теряете того, что уже сделали.

Иметь легкие для понимания параметры конфигурации (какие каталоги отслеживать, как долго, как часто следует регистрировать изменения и т. д.)

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

В идеале также должен быть интерфейс с графическим интерфейсом

Существует множество git guis , которые специализируются на различных задачах. Однако изучение git из командной строки настоятельно рекомендуется. Для начала вам нужно выучить несколько команд (git init, git status git diff, git add, git rm, git commit, git push, git pull). Также командная строка помогает вам с задачами, которые вам нужно сделать. Например: git status

# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   systems/ion/setup.txt
#   modified:   systems/dogstar/teardown.txt
#   modified:   applications/help.html
#   modified:   applications/readme.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   applications/faq.html
no changes added to commit (use "git add" and/or "git commit -a")

Если вам удобнее использовать графический интерфейс, SmartGit подходит для новичков.

Уметь восстанавливать удаленные файлы

Да, git может восстанавливать любую версию любого файла, если он был зафиксирован.

Какой лучший / наиболее широко используемый инструмент мне подойдет?

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

0
ответ дан 3 November 2012 в 19:39

То, как это звучит, я думаю, использование контроля версий, такого как git, Mercurial hg, bzr или svn, не совсем подходит для ваших нужд, поскольку они в первую очередь предназначены для исходных файлов, а не для двоичные данные. Таким образом, я хочу добавить некоторые дополнительные возможности здесь.

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

Дежа Дуп

Использует duplicity в качестве бэкэнда.

Плюсы

  • Собственное решение для резервного копирования Ubuntus
  • Очень просто
  • Множество вариантов, куда вы хотите создавать резервные копии

Минусы

  • Больше решение для резервного копирования, а не контроль версий
  • Несколько ограниченный контроль

Если его еще нет, установите его:

sudo apt-get install deja-dup 

Вы можете найти его в тире, если введете backup.

SpiderOak

Плюсы

  • Доступны пакеты Ubuntu, добавляется репозиторий в sources.list (автообновления)
  • Вы можете выбрать любой папка для резервного копирования (в отличие от dropbox)
  • Запускается в фоновом режиме, отслеживает изменения в этих папках и загружает только изменения (сохраняет пропускную способность), это автоматически & amp; немедленно
  • Шифрование на стороне клиента (в отличие от Dropbox)
  • Распознает дубликаты
  • Сжатие файлов на сервере
  • Сохраняет удаленные файлы и более старые версии на своем сервере (до тех пор, пока у вас есть свободное место для хранения), если вы не удалите их явно
  • Хороший графический интерфейс
  • Возможность синхронизации между компьютерами (Linux / Windows / OS X, Мобильные клиенты для только для чтения)
  • Облачно - даже если ваш жесткий диск вышел из строя, у вас все еще есть резервная копия

Минусы

  • Облако на основе - требуется подключение к Интернету
  • Не полностью с открытым исходным кодом
  • Только 2 ГБ (бесстыдный штекер: если вам нужны дополнительные ГБ, вы можете использовать мою реферальную ссылку )

Скачать здесь: SpiderOak Скачать

rdiff-backup

Плюсы

  • Возможно локальное или удаленное резервное копирование
  • Мелкозернистое управление
  • rsync alg orithm, только отслеживает изменения
  • Эффективное использование пространства (неизмененные файлы не затрагиваются)
  • Разрешается сохранение и файловых разрешений
  • Может сохранять последние n версий или последние n дней ваши резервные копии

Минусы

  • Должны запускаться cronjob или явно
  • Утилита командной строки (если это не ваша вещь ), но есть графический интерфейс: Pybackpack

Установите его с помощью:

sudo apt-get install rdiff-backup pybackpack

снимков BTRFS

Хотя не для Слабонервный, есть возможность разместить каталог /home в отдельном разделе BTRFS и время от времени создавать его снимки

Плюсы

  • ] Очень компактно, только измененные файлы сохраняются снова
  • Отслеживает все данные раздела
  • Быстро
  • Монтирует любые старые снимки для доступа предыдущие версии

Минусы

  • BTRFS все еще имеет отношение ively new
  • Не дружелюбный к новичкам
  • Только для командной строки
  • Требуется некоторая работа с системой
  • Не решение для резервного копирования - если ваш жесткий диск выходит из строя, все потеряны версии

На есть справочные страницы Ubuntus .

0
ответ дан 3 November 2012 в 19:39

Вы можете использовать Codebase .

  1. Это программный инструмент управления проектами с быстрым, надежным & amp; безопасный Git, Mercurial & amp; Хостинг Subversion уже готов.
  2. Он может отслеживать весь проект из Интернета и развертывать репозитории прямо на серверах.
  3. Он имеет мощные функции управления проектами с расширенным управлением заявками, лентами активности и контролем данных с настраиваемыми разрешениями, полной функциональностью поиска и API разработчика
0
ответ дан 3 November 2012 в 19:39

GNU RCS (Revision Control System) управляет несколькими ревизиями файлов. RCS может хранить, извлекать, регистрировать, идентифицировать и объединять редакции. Это полезно для файлов, которые часто пересматриваются, например, программы, документация, графика и документы. Он может обрабатывать как текстовые, так и двоичные файлы, хотя функциональность для последних ограничена.

Основной пользовательский интерфейс очень прост. Новичку нужно только выучить две команды: ci и co. ci, сокращение от checkin помещает содержимое файла в архивный файл, называемый RCS-файлом. Файл RCS содержит все ревизии конкретного файла. co - сокращение от кассы.

Нужно изменить ваши изменения? польный список.

Страница проекта: http://savannah.gnu.org/projects/rcs/

Руководство: http://www.gnu.org/software/rcs /manual/rcs.html

Мне «нужно как минимум 10 репутаций, чтобы опубликовать более 2 ссылок», поэтому читатель должен будет изменить следующее, чтобы перейти по ссылке. Текст автора, который вы можете прочитать в конце концов:

http://www.gnu.org/software/rcs/tichy-paper.pdf

A хорошее резюме и генеология различного программного обеспечения системы контроля версий доступны:

http://en.wikipedia.org/wiki/Revision_Control

0
ответ дан 3 November 2012 в 19:39

Другие вопросы по тегам:

Похожие вопросы: