web-dev-qa-db-ja.com

使用するバージョン管理システム

〜のすべてのドキュメントについて、必要に応じて特定のバージョンに時間を戻すことができるようにするために、バージョン管理システムの使用を検討しています。

これに最適なツールは何ですか:

  • バージョン管理システムの経験があまりない
  • いくつかのファイルはプレーンテキストファイルですが、Libre-Officeファイルもいくつかあります。

ツールは:

  • セットアップ、実行、保守が簡単になります
  • 構成オプション(追跡するディレクトリ、期間、変更をキャプチャする頻度など)を理解しやすい
  • 理想的にはGUIフロントもあります
  • 削除されたファイルを回復できる

私に適した最高の/最も広く使用されているツールは何ですか?

5
deshmukh

CVSSubversiongit 、およびいくつかの商用パッケージを使用しました。私は自分の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 initgit statusgit diffgit addgit rmgit commitgit Pushgit 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は広く使用されています。最高のものである限り、最高ではありませんが最高です。しかし、最高であることはより個人的な意見であり、状況にも基づいています。

8
mmorris

git、Mercurial hgbzr、またはsvnなどのバージョン管理を使用することは、主に対象とされているため、あなたのニーズに完全に適合しないと思いますバイナリデータではなくソースファイル用。したがって、ここにいくつかの追加の可能性を追加します。

ニースのソリューションはクラウドベースのバックアップサービスだと思います。私は個人的にSpiderOakを使用していますが、これは非常にうまく機能します。

デジャデュプ

バックエンドとしてduplicityを使用します。

長所

  • Ubuntu独自のバックアップソリューション
  • 非常に簡単
  • バックアップの保存先の多くのオプション

短所

  • バージョン管理ではなく、バックアップソリューションの詳細
  • やや制限された制御

まだない場合はインストールします:

Sudo apt-get install deja-dup 

backupと入力すると、ダッシュで見つけることができます。

スパイダーオーク

長所

  • Ubuntuパッケージが利用可能、リポジトリをsources.list(自動更新)に追加
  • バックアップするフォルダーを選択できます(Dropboxとは異なります)
  • バックグラウンドで実行され、これらのフォルダーの変更を監視し、変更のみをアップロードします(帯域幅を節約します)。
  • クライアント側の暗号化(Dropboxとは異なり)
  • 重複を認識する
  • サーバー上のファイルを圧縮します
  • サーバー上の削除されたファイルと古いバージョンを保持します(明示的に削除しない限り、そこに空きストレージスペースがある限り)
  • 素敵なGUI
  • コンピューター間で同期する可能性(Linux/Windows/OS X、読み取り専用のモバイルクライアント)
  • クラウドベース-ハードディスクがクラッシュした場合でも、バックアップがあります

短所

  • クラウドベース-インターネット接続が必要
  • 完全にオープンソースではない
  • 2 GBのみ(恥知らずのプラグ:追加のGBが必要な場合は、myリファラーリンクを使用できます)

ここからダウンロードしてください:SpiderOak Download

rdiff-backup

長所

  • ローカルまたはリモートのバックアップが可能
  • きめ細かな制御
  • rsyncアルゴリズム、変更のみを追跡
  • スペース効率(変更されていないファイルはそのままです)
  • ファイルpermissiosも保存できます
  • 過去nバージョンまたは過去n日間のバックアップを保持できます

短所

  • Cronjobまたは明示的に実行する必要があります
  • コマンドラインユーティリティ(それがあなたのものでない場合)、しかし利用可能なGUIがあります: Pybackpack

以下を介してインストールします。

Sudo apt-get install rdiff-backup pybackpack

BTRFSスナップショット

気弱な人向けではありませんが、別のBTRFSパーティションに/homeディレクトリを作成し、そのスナップショットを時々作成する可能性があります

長所

  • スペース効率が非常に高く、変更されたファイルのみが再び保存される
  • パーティションのallデータを追跡します
  • 速い
  • 古いスナップショットをマウントして以前のバージョンにアクセスする

短所

  • BTRFSはまだ比較的新しい
  • 初心者向けではない
  • コマンドラインのみ
  • システムをいじる必要があります
  • バックアップソリューションではありません-ハードドライブがクラッシュすると、すべてのバージョンが失われます

buntusヘルプページ にハウツーがあります。

6
phoibos

Gitをお勧めします:

  1. 使いやすい
  2. github で無料でホストできます
  3. Windowsの場合、 github for windows を使用して、GUIを取得できます。
  4. これは速い
  5. Github Webサイトで必要な場合は、構文の強調表示。
  6. ローカルで実行でき、個人プロジェクトに最適です。
2
orangeocelot

よく知られているバージョン管理システムは、CVS、SVN(Subversion)、およびGITです。古いCVSについて考える必要はないので、SVNとGITが残ります。

あなたの限られた使用のために、私はあなたが選択することは本当に重要だとは思わないので、私のアドバイスはあなたがそれらのうちの1つを使用していることを知っている人を見て、それを選択することです:)

より複雑なもの(コードの実際のバージョン管理など)の使いやすさを探している場合は、GITを使用することをお勧めします。基本的に「彼ら」は、SVNはCVSの更新であり、GITは再びSVNの「更新」であると言います。個人的には、SVNに対するGITの利点は、特に複数のユーザーと複数のブランチにあると思うので、心配する必要はないでしょう。

一方で、より良いオプションを使用した経験があるので、将来何をしたいかわからないでしょう。

それらに関するいくつかの情報をチェックしてください

2
Nanne

私はあなたがこれをしたいとは思わない。ソース管理はそのためのソース管理です。ほとんどは、バイナリファイル(画像、音楽、映画など)をうまく処理しません。

また、SCMは、変更されたデータの行ごとのチャンクを提供します。そのため、ログインまたはログアウトするたびに、一部のデータが変更されます。常に「マージ」または「コミット」する必要があります。私はこれがあなたが望むものではないことをほぼ確信しています。

ただし、非常に優れたツールがいくつかあります。

Back-In-Timeは素晴らしく、差分ビューアを備えています。 Deja Dupeがデフォルトですが、機能が豊富であるとは思いません。 grsyncは、バックアップに対して変更されたファイルのリストを提供できます。そして、単純な古いrsyncがオプションです。

SCMの使用を主張する場合は、gitをお勧めしますが、ローカルでホストされます。すべてのバイナリファイルを除外する.gitignoreを追加します。いっそのこと、あなたはあなたの設定ディレクトリをちょうど制御することを試みることができました。ここでも、バイナリファイルに注意する必要があります。

2
coteyr

あなたの質問をもう一度読んで、私はあなたが望むものは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をクリックしてリポジトリを追加できます。その後、必要に応じてファイルを操作できますチェックアウト、インポート、およびコミット。

enter image description here

すべてのファイルを簡単に管理でき、コマンドラインでsvnを使用するよりもオプションを構成する方が簡単であるため、これはおそらくあなたが探していたGUIであると思います。

2
user76204

Codebase を使用できます。

  1. これは、高速で信頼性が高く安全なGit、Mercurial、およびSubversionホスティングが組み込まれたソフトウェアプロジェクト管理ツールです。
  2. Webからプロジェクト全体を追跡し、リポジトリをサーバーに直接展開できます。
  3. 高度なチケット管理、アクティビティフィード、カスタマイズ可能な権限、完全な検索機能、開発者APIによるデータの制御を備えた強力なプロジェクト管理機能を備えています。
1
frisky

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

さまざまなリビジョン管理システムソフトウェアのニースの概要と系譜:

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

0
user171154