des*_*ukh 5 versions version-control software-recommendation
我正在考虑使用版本控制系统来确保我可以及时返回到 ~ 中所有文档的特定版本,如果必须的话。
鉴于以下情况,最适合的工具是什么:
该工具应该:
最适合我的/使用最广泛的工具是什么?
我使用过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 文件
git 在文件类型(ASCII 与二进制)上没有区别,但是 ASCII 文件最适合查看差异和合并冲突。
易于设置、运行和维护
git 可以通过多种方式进行配置,这完全取决于您的需求。对于初学者来说,这是一个多节目,您所要做的就是安装 git ( sudo apt-get install --install-recommends git-core) 并创建一个存储库(如上所示)。如果你在多台机器上工作,你可以通过 ssh 设置 git(这在书中)。更好的是,随着您的需求扩大,您不会失去已经完成的工作。
具有易于理解的配置选项(要跟踪的目录、跟踪多长时间、应捕获更改的频率等)
您可以拥有一个大型存储库,也可以将它们分解为单个项目或单个文件。再次创建一个 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")
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢 GUI,SmartGit 对新手友好。
能够恢复已删除的文件
是的,只要已提交,git 就可以恢复任何文件的任何版本。
最适合我的/使用最广泛的工具是什么?
git 被广泛使用。就最好的而言,即使不是最好的,也是最好的。但成为最好的,更多的是个人意见,也是基于情况的。
事情是这样的声音,我想使用版本控制一样git,水银hg,bzr或者svn是不适合你的需求完美契合,因为它们主要针对的源文件,而不是二进制数据。因此,我想在这里添加一些额外的可能性。
我认为一个不错的解决方案是基于云的备份服务。我个人使用SpiderOak,效果非常好。
用途duplicity作为其后端。
优点
缺点
如果它还没有,请安装它:
sudo apt-get install deja-dup
Run Code Online (Sandbox Code Playgroud)
如果输入 ,则可以在破折号中找到它backup。
优点
sources.list(自动更新)缺点
在这里下载:SpiderOak 下载
优点
rsync 算法,只跟踪变化缺点
通过以下方式安装:
sudo apt-get install rdiff-backup pybackpack
Run Code Online (Sandbox Code Playgroud)
虽然不适合胆小的人,但有可能将您的/home目录放在单独的 BTRFS 分区上并偶尔创建该分区的快照
优点
缺点
Ubuntus 帮助页面上有一个 howto 。