首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用哪个版本控制系统?

使用哪个版本控制系统?
EN

Ask Ubuntu用户
提问于 2012-10-27 14:50:34
回答 7查看 17K关注 0票数 6

我正在考虑使用版本控制系统,以确保如果有必要的话,我可以返回到所有文档的特定版本。

考虑到以下情况,什么是最适合这样做的工具:

  • 我在版本控制系统方面没有很多经验。
  • 有几个文件将是纯文本文件,但也会有一些Libre-Office文件

该工具应:

  • 易于设置、运行和维护。
  • 易于理解配置选项(跟踪哪些目录、跟踪多长时间、捕获更改的频率等)。
  • 理想情况下,也有一个GUI前端
  • 能够恢复已删除的文件

什么是最适合我的最好/最广泛使用的工具?

EN

回答 7

Ask Ubuntu用户

回答已采纳

发布于 2012-10-30 18:40:39

我使用过CVSSubversiongit和一些商业软件包。我刚把我的个人VCS从CVS迁移到git (我认为这比实际情况要困难得多,我早该这么做的)。

我推荐吉特。根据你要找的是什么。

我是个新手,在版本控制系统方面没有很多经验。

git可能有更长的学习曲线,特别是如果您有以前的VCS经验的话。没有接触过以前的VCS,你的学习曲线可能会更短。

学习git的最好方法是下载书支持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 (它在书中)。更好的是,随着你需求的扩大,你不会失去你已经做过的事情。

易于理解配置选项(跟踪哪些目录、跟踪多长时间、捕获更改的频率等)。

您可以拥有一个大型存储库,也可以将它们分解为单个项目或单个文件。再次创建一个git存储库,并在其中进行操作,看看哪些是有效的,哪些是无效的。

理想情况下,也有一个GUI前端

有许多吉特吉斯专门处理许多不同的任务。但是,强烈建议从命令行学习git。要开始学习,只需学习几个命令(git initgit status git diffgit addgit rmgit commitgit pushgit pull)。此外,命令行还可以帮助您完成需要执行的任务。例如:git status

代码语言:javascript
运行
复制
# 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被广泛应用。就最好的情况而言,它是最好的,即使不是最好的。但做最好的人,更多的是个人意见,也是基于情况的。

票数 8
EN

Ask Ubuntu用户

发布于 2012-10-31 12:44:36

听起来,我认为使用像git、Mercurial hgbzrsvn这样的版本控制并不完全适合您的需求,因为它们主要针对源文件,而不是二进制数据。因此,我想在此补充一些可能性。

我认为一个很好的解决方案是基于云的备份服务。我个人使用SpiderOak,它工作得很好。

DéjàDup

使用duplicity作为后端。

Pros

  • Ubuntus自己的备份解决方案
  • 很容易
  • 你想要备份的地方有很多选项

Cons

  • 更多的是备份解决方案,而不是版本控制。
  • 有限的控制

如果它还没有安装,安装如下:

代码语言:javascript
运行
复制
sudo apt-get install deja-dup 

如果你输入backup,你可以在破折号中找到它。

SpiderOak

Pros

  • Ubuntu包可用,将存储库添加到sources.list (自动更新)
  • 您可以选择任何要备份的文件夹(与dropbox不同)
  • 在后台运行,监视这些文件夹中的更改,并且只上载更改(节省带宽),这是自动的&立即。
  • 客户端加密(与dropbox不同)
  • 识别重复
  • 压缩服务器上的文件
  • 在其服务器上保留已删除的文件和旧版本(只要您有空闲的存储空间),除非您显式删除它们
  • 不错的GUI
  • 计算机之间进行同步的可能性(Linux / Windows / OS,用于只读的移动客户端)
  • 基于云的--即使硬盘崩溃,仍然有备份。

Cons

  • 需要基于云的internet连接
  • 不完全开放源码
  • 只有2GB(无耻的插头:如果你想要一个额外的GB,你可以使用我的推荐链接 )

在这里下载:SpiderOak下载

rdiff-backup

Pros

  • 本地或远程备份可能
  • 细粒度控制
  • rsync算法,只跟踪变化
  • 空间效率(未更改的文件未被更改)
  • 文件许可也可以存储。
  • 可以保留最后n个版本或备份的最后n天。

Cons

  • 必须由cron作业运行或显式地运行。
  • 命令行实用程序(如果不是这样的话),但是有一个GUI可用:皮书包

通过以下方式安装:

代码语言:javascript
运行
复制
sudo apt-get install rdiff-backup pybackpack

BTRFS快照

虽然不适合心脏虚弱的人,但有可能将您的/home目录放在单独的BTRFS分区上,并偶尔创建该分区的快照。

Pros

  • 非常节省空间,只会再次存储已更改的文件。
  • 跟踪分区的所有数据。
  • 快地
  • 安装任何较旧的快照以访问以前的版本

Cons

  • BTRFS仍然是比较新的
  • 不友好的新手
  • 仅命令行
  • 需要对系统做些修改
  • 不是备份解决方案--如果硬盘崩溃,所有版本都会丢失。

Ubuntus帮助页上有一个如何操作。

票数 6
EN

Ask Ubuntu用户

发布于 2012-10-30 12:59:29

我推荐git是因为:

  1. 它很容易使用
  2. 您可以在github上免费托管它
  3. 对于windows,您可以使用用于windows的github,这为您提供了一个gui。
  4. 太快了
  5. 语法突出显示,如果您需要它在github网站上。
  6. 您可以在本地运行它,使其适合于个人项目。
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/207191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档