〜のすべてのドキュメントについて、必要に応じて特定のバージョンに時間を戻すことができるようにするために、バージョン管理システムの使用を検討しています。
これに最適なツールは何ですか:
ツールは:
私に適した最高の/最も広く使用されているツールは何ですか?
CVS 、 Subversion 、 git 、およびいくつかの商用パッケージを使用しました。私は自分のVCSをCVSからgitに移行しました(実際にはそれが実際よりも難しくなると思っていたので、ずっと前にやるべきだったのです)。
Gitをお勧めします。探しているものに基づきます。
私はバージョン管理システムの経験があまりない初心者です
git は、特に以前のVCSの経験がある場合、学習曲線が長くなる場合があります。以前のVCSにさらされていなかった場合、学習曲線は短くなる可能性があります。
Gitを学ぶ最良の方法は、本をダウンロードすることです Scott ChaconによるPro Git (無料)、テストリポジトリ(mkdir <project name>; cd <project name>; git init
)を作成し、それをハックします。リポジトリを作成する努力は本当にありません。また、各リポジトリは独立しているため、テストリポジトリで何かを台無しにする心配はありません。リポジトリは簡単に削除できます(cd <project name>; rm -rf .git
)。
いくつかのファイルはプレーンテキストファイルですが、Libre-Officeファイルがいくつかあります
ファイルタイプ(ASCIIとバイナリ)のgitとの区別はありませんが、ASCIIファイルは、差分を確認して競合をマージするのに最適です。
セットアップ、実行、保守が簡単になります
gitはさまざまな方法で設定できますが、すべてニーズに依存します。多くのショーである初心者にとっては、git(Sudo apt-get install --install-recommends git-core
)をインストールしてリポジトリを作成するだけです(上記参照)。複数のマシンで作業する場合は、sshを介してgitをセットアップできます(本の中にあります)。さらに良いことに、ニーズが拡大しても、すでにやったことを失うことはありません。
構成オプション(追跡するディレクトリ、期間、変更をキャプチャする頻度など)を理解しやすい
1つの大きなリポジトリを持つことも、個々のプロジェクトまたは単一のファイルに分割することもできます。再びgitリポジトリを作成し、それをいじって、何が機能し、何が機能しないかを見てください。
理想的にはGUIフロントもあります
多くの異なるタスクに特化した多くの 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")
GUIに慣れている場合、 SmartGit は初心者に優しいです。
削除されたファイルを回復できる
はい。gitは、コミットされている限り、任意のファイルの任意のバージョンを回復できます。
私に適した最高の/最も広く使用されているツールは何ですか?
gitは広く使用されています。最高のものである限り、最高ではありませんが最高です。しかし、最高であることはより個人的な意見であり、状況にも基づいています。
git
、Mercurial hg
、bzr
、またはsvn
などのバージョン管理を使用することは、主に対象とされているため、あなたのニーズに完全に適合しないと思いますバイナリデータではなくソースファイル用。したがって、ここにいくつかの追加の可能性を追加します。
ニースのソリューションはクラウドベースのバックアップサービスだと思います。私は個人的にSpiderOakを使用していますが、これは非常にうまく機能します。
バックエンドとしてduplicity
を使用します。
長所
短所
まだない場合はインストールします:
Sudo apt-get install deja-dup
backup
と入力すると、ダッシュで見つけることができます。
長所
sources.list
(自動更新)に追加短所
ここからダウンロードしてください:SpiderOak Download (
長所
rsync
アルゴリズム、変更のみを追跡短所
以下を介してインストールします。
Sudo apt-get install rdiff-backup pybackpack
気弱な人向けではありませんが、別のBTRFSパーティションに/home
ディレクトリを作成し、そのスナップショットを時々作成する可能性があります
長所
短所
buntusヘルプページ にハウツーがあります。
Gitをお勧めします:
よく知られているバージョン管理システムは、CVS、SVN(Subversion)、およびGITです。古いCVSについて考える必要はないので、SVNとGITが残ります。
あなたの限られた使用のために、私はあなたが選択することは本当に重要だとは思わないので、私のアドバイスはあなたがそれらのうちの1つを使用していることを知っている人を見て、それを選択することです:)
より複雑なもの(コードの実際のバージョン管理など)の使いやすさを探している場合は、GITを使用することをお勧めします。基本的に「彼ら」は、SVNはCVSの更新であり、GITは再びSVNの「更新」であると言います。個人的には、SVNに対するGITの利点は、特に複数のユーザーと複数のブランチにあると思うので、心配する必要はないでしょう。
一方で、より良いオプションを使用した経験があるので、将来何をしたいかわからないでしょう。
それらに関するいくつかの情報をチェックしてください
私はあなたがこれをしたいとは思わない。ソース管理はそのためのソース管理です。ほとんどは、バイナリファイル(画像、音楽、映画など)をうまく処理しません。
また、SCMは、変更されたデータの行ごとのチャンクを提供します。そのため、ログインまたはログアウトするたびに、一部のデータが変更されます。常に「マージ」または「コミット」する必要があります。私はこれがあなたが望むものではないことをほぼ確信しています。
ただし、非常に優れたツールがいくつかあります。
Back-In-Timeは素晴らしく、差分ビューアを備えています。 Deja Dupeがデフォルトですが、機能が豊富であるとは思いません。 grsyncは、バックアップに対して変更されたファイルのリストを提供できます。そして、単純な古いrsyncがオプションです。
SCMの使用を主張する場合は、gitをお勧めしますが、ローカルでホストされます。すべてのバイナリファイルを除外する.gitignoreを追加します。いっそのこと、あなたはあなたの設定ディレクトリをちょうど制御することを試みることができました。ここでも、バイナリファイルに注意する必要があります。
あなたの質問をもう一度読んで、私はあなたが望むものはsvn
などのツールで作成され、そのフロントエンドrapidsvn
で維持されるlocalリポジトリだと思います。これは特に目的に合っているように思えます。ローカルリポジトリはメインハードディスクまたは外部ドライブにあります。バージョン管理は、ソースコード、テキストファイル、またはドキュメントに最適であり、マルチメディアファイルには適していないことに注意することが重要です。そのようなバックアップには、Dropbox
またはUbuntu One
の方が適しています。さらに、dropbox
を使用してファイルの以前のバージョンに戻ることができます。
とにかく、GUIツールrapidsvn
がどのように機能するか、コマンドラインからsvn
がどのように使用されるかを簡単に示します。
まず、必要なファイルをインストールします
Sudo apt-get install Subversion rapidsvn
より多くの情報が利用可能です 公式サイトでrapidsvn
について、あなたはmustまだsvnリポジトリを作成することに注意することが重要です最初にコマンドラインで。ホームフォルダーの最上位にいることを確認し(必要に応じてcd
と入力してアクセスします)、次のように入力します。
svnadmin create --fs-type fsfs ~/svn
次に、初期フォルダを作成します
svn mkdir file:///home/mike/svn/folder -m "initial folder"
クイックスタートガイド を使用すると、rapidsvn
をロードし、ブックマークを右クリックして、Checking New Working Copyをクリックしてリポジトリを追加できます。その後、必要に応じてファイルを操作できますチェックアウト、インポート、およびコミット。
すべてのファイルを簡単に管理でき、コマンドラインでsvn
を使用するよりもオプションを構成する方が簡単であるため、これはおそらくあなたが探していたGUIであると思います。
Codebase を使用できます。
GNU RCS(リビジョン管理システム)は、ファイルの複数のリビジョンを管理します。 RCSは、リビジョンを保存、取得、ログ、識別、およびマージできます。頻繁に更新されるファイルに役立ちます。プログラム、ドキュメント、グラフィックス、論文。テキストとバイナリファイルの両方を処理できますが、後者の機能は制限されます。
基本的なユーザーインターフェイスは非常にシンプルです。初心者は、ciとcoの2つのコマンドを学習するだけで済みます。 ci、チェックインの略で、RCSファイルと呼ばれるアーカイブファイルにファイルの内容を保存します。 RCSファイルには、特定のファイルのすべてのリビジョンが含まれます。 coはチェックアウトの略です。
変更を比較する必要がありますか? rcsdiff。
プロジェクトページ: http://savannah.gnu.org/projects/rcs/
マニュアル: http://www.gnu.org/software/rcs/manual/rcs.html
「2つ以上のリンクを投稿するには少なくとも10の評判が必要」なので、リンクを取得するには読者が以下を変更する必要があります。最終的に読みたいかもしれない著者による記事:
http://www.gnu.org/software/rcs/tichy-paper.pdf
さまざまなリビジョン管理システムソフトウェアのニースの概要と系譜: