Я смотрю на использование системы контроля версий, чтобы гарантировать, что я смогу вернуться к определенной версии для всех документов в ~, если потребуется.
Какой инструмент лучше всего подходит для этого, учитывая, что:
Инструмент должен:
Какой инструмент лучше всего подходит для меня?
Хорошо известными версиями систем управления являются CVS, SVN (subversion) и GIT. Нет необходимости думать о старом CVS, так что это оставляет нас SVN и GIT.
Для вашего ограниченного использования я не думаю, что это действительно имеет значение, какой вы выберете, поэтому я бы посоветовал посмотреть, кто из ваших знакомых использует один из них, и выбрать его:)
Если вы В поисках простоты использования для более сложных вещей (реальный контроль версий кода и т. д.) я бы предложил использовать GIT. В основном «они» говорят, что SVN был обновлением для CVS, а GIT снова является «обновлением» для SVN. Я лично считаю, что преимущества GIT по сравнению с SVN предназначены именно для нескольких пользователей и нескольких филиалов, поэтому, возможно, вам не стоит об этом беспокоиться.
С другой стороны, почему бы не получить некоторый опыт с лучшим вариантом, вы никогда не знаете, что вы хотите сделать в будущем.
Пожалуйста, ознакомьтесь с информацией о них
Я бы порекомендовал git, потому что:
Я не думаю, что вы хотите сделать это. Контроль источника только для этого, контроль источника. Большинство из них не очень хорошо обрабатывают двоичные файлы (например, изображения, музыку, фильмы и т. Д.).
Кроме того, СКМ будут построчно рассылать, какие данные изменились. Поэтому каждый раз, когда вы входите или выходите из системы, вы будете изменять некоторые данные. Вам придется все время «объединять» или «фиксировать». Я почти уверен, что это не то, что вы хотите.
Тем не менее, есть пара действительно хороших инструментов.
Back-In-Time потрясающий и имеет просмотрщик различий. Дежа Дупе по умолчанию, но я не думаю, что это очень многофункциональный. grsync может предоставить вам список файлов с резервной копией, которые были изменены. и старый добрый rsync вариант.
Если вы настаиваете на использовании SCM, тогда я рекомендую git, но размещенный локально. Добавьте .gitignore, который исключает все двоичные файлы. А еще лучше, вы можете попробовать использовать Verson для управления вашими каталогами конфигурации. Опять же, вам придется следить за двоичными файлами.
Прочитывая Ваш вопрос снова, я думаю, что Вы хотите, локальный репозиторий, созданный с инструментом такой как 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, и с тех пор можно управлять файлами, как Вы желаете с контролем, импортом и фиксациями.
Я думаю, что это - вероятно, просто gui, который Вы искали, поскольку он может легко управлять всеми Вашими файлами, и легче настроить опции, чем использование svn
на командной строке.
Я использовал CVS , Subversion , git и несколько коммерческих пакетов. Я только что перенес свою личную VCS из CVS в git (я думал, что это будет сложнее, чем на самом деле, я должен был сделать это давно).
1121 Я бы порекомендовал git. На основании того, что вы ищете.
Я новичок без большого опыта работы с системами контроля версий
blockquote>git может иметь более длительную кривую обучения, особенно если у вас есть опыт работы с предыдущей VCS , Если вы не подвергались воздействию предыдущей VCS, ваша кривая обучения может быть короче.
Лучший способ изучить git - это скачать книгу Pro Git Скотта Чакона (бесплатно), создать тестовое хранилище (
mkdir <project name>; cd <project name>; git init
) и взломать его. На самом деле не требуется никаких усилий для создания репозитория и не беспокойтесь о том, чтобы что-то напортачить в тестовом репозитории, поскольку каждый репозиторий независим. Хранилище может быть легко удалено (cd <project name>; rm -rf .git
).Несколько файлов будут простыми текстовыми файлами, но будут некоторые файлы Libre-Office
blockquote>Не существует различий с git для типов файлов (ASCII против двоичных файлов), однако файлы ASCII оптимальны для просмотра различий и слияния конфликтов.
Быть простым в настройке, запуске и обслуживании
blockquote>git можно настроить несколькими способами, все зависит от ваших потребностей. Для начала, все, что вам нужно сделать, это установить git (
sudo apt-get install --install-recommends git-core
) и создать репозиторий (как показано выше). Если вы работаете на нескольких машинах, вы можете настроить git поверх ssh (он есть в книге). Еще лучше, поскольку ваши потребности расширяются, вы не теряете того, что уже сделали.Иметь легкие для понимания параметры конфигурации (какие каталоги отслеживать, как долго, как часто следует регистрировать изменения и т. д.)
blockquote>Вы можете иметь один большой репозиторий или разбить их на отдельные проекты или отдельные файлы. Снова создайте git-репозиторий и поэкспериментируйте с ним, посмотрите, что работает, а что нет.
В идеале также должен быть интерфейс с графическим интерфейсом
blockquote>Существует множество 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 подходит для новичков.
Уметь восстанавливать удаленные файлы
blockquote>Да, git может восстанавливать любую версию любого файла, если он был зафиксирован.
Какой лучший / наиболее широко используемый инструмент мне подойдет?
blockquote>git широко используется. Что касается лучшего, то он один из лучших, если не самый лучший. Но быть лучшим, это больше личное мнение и также основано на ситуации.
То, как это звучит, я думаю, использование контроля версий, такого как git
, Mercurial hg
, bzr
или svn
, не совсем подходит для ваших нужд, поскольку они в первую очередь предназначены для исходных файлов, а не для двоичные данные. Таким образом, я хочу добавить некоторые дополнительные возможности здесь.
Я думаю, что хорошим решением была бы облачная служба резервного копирования. Я лично использую SpiderOak , который работает очень хорошо.
Использует duplicity
в качестве бэкэнда.
Плюсы
Минусы
Если его еще нет, установите его:
sudo apt-get install deja-dup
Вы можете найти его в тире, если введете backup
.
Плюсы
sources.list
(автообновления) Минусы
Скачать здесь: SpiderOak Скачать
Плюсы
rsync
alg orithm, только отслеживает изменения Минусы
Установите его с помощью:
sudo apt-get install rdiff-backup pybackpack
Хотя не для Слабонервный, есть возможность разместить каталог /home
в отдельном разделе BTRFS и время от времени создавать его снимки
Плюсы
Минусы
Вы можете использовать Codebase .
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 хорошее резюме и генеология различного программного обеспечения системы контроля версий доступны: