Linux 什么';对于非常小(通常是单文件)的项目,最简单的版本控制软件是什么?

Linux 什么';对于非常小(通常是单文件)的项目,最简单的版本控制软件是什么?,linux,svn,version-control,Linux,Svn,Version Control,很多时候,我会发现自己有一个非常小的项目,只需要一两天的工作。我现在的例子是一个简单的单文件HTML和javascript文件,用于向外部网站提交表单。我不会在10分钟内完成这项工作,但我也不会花超过一两天的时间编写代码 不过,我真的很想为这样的项目进行版本控制,因为我往往有很多这样的项目,而且几乎总是在我打破某些东西之后,因为没有一个可回滚到的修订版,我会在以后责备自己 我知道SVN,但它只存储一个小文件,可能有4到5次提交,感觉非常笨拙。我的意思是,我必须经历创建存储库的麻烦,以及所有这些。

很多时候,我会发现自己有一个非常小的项目,只需要一两天的工作。我现在的例子是一个简单的单文件HTML和javascript文件,用于向外部网站提交表单。我不会在10分钟内完成这项工作,但我也不会花超过一两天的时间编写代码

不过,我真的很想为这样的项目进行版本控制,因为我往往有很多这样的项目,而且几乎总是在我打破某些东西之后,因为没有一个可回滚到的修订版,我会在以后责备自己

我知道SVN,但它只存储一个小文件,可能有4到5次提交,感觉非常笨拙。我的意思是,我必须经历创建存储库的麻烦,以及所有这些。我真的想要一种超级简单的版本控制。我不需要任何高级功能,只需要一个
commit
rollback
类型的东西

有人知道有哪种版本控制软件适合这种轻量级的版本控制吗

为了进一步完善我的问题,我将“最佳”定义为易于使用,并且对我来说,花最少的时间管理它。我不期望有太多的功能。我永远不需要像分支这样的东西,也不需要其他人来编辑它。只是一个更少的手动和更简单的等效

cp myfile myfile.backup1
注意,我在Linux上,非常想要一个超级简单的命令行界面。但是GUI也可以工作:)

您可以在驱动器上的目录上使用。无需安装SVN服务器。这样,您就可以在本地以目录的形式获取所有内容,如果需要,您可以随时移动这些内容。我假设你在Windows上工作

我和另外两个同事一起使用这个共享目录,直到我们得到一个服务器将它移动到真正的SVN或TFS。我自己已经使用这个解决方案好几年了(没有最近来的同事)。

您可以在驱动器上的目录上使用。无需安装SVN服务器。这样,您就可以在本地以目录的形式获取所有内容,如果需要,您可以随时移动这些内容。我假设你在Windows上工作

我和另外两个同事一起使用这个共享目录,直到我们得到一个服务器将它移动到真正的SVN或TFS。我自己已经使用这个解决方案好几年了(没有最近来的同事)。

有/应该对你有好处。用户界面使用简单,不需要太多的技能来学习。而且,大多数IDE都有Git集成,因此可能甚至不需要GUI。

with/应该对您有好处。用户界面使用简单,不需要太多的技能来学习。而且,大多数IDE都集成了Git,因此可能甚至不需要GUI。

我会选择Git

使用git,您可以在新的源目录中创建一个新的git存储库,只需:

git init
这将在当前目录中创建一个新的存储库。然后,您可以使用以下命令签入同一目录中的文件:

git add *
git commit -a
这就是对文件进行版本控制的全部内容

另一个选择是过时的。它不支持远程存储库,功能也不太好,但是如果您只需要一些基本的版本控制,那么它就可以实现这一点。

我会选择git

使用git,您可以在新的源目录中创建一个新的git存储库,只需:

git init
这将在当前目录中创建一个新的存储库。然后,您可以使用以下命令签入同一目录中的文件:

git add *
git commit -a
这就是对文件进行版本控制的全部内容


另一个选择是过时的。它不支持远程存储库,功能也不太好,但如果您只需要一些基本的版本控制,那么它就可以实现这一点。

试试pv2

试试pv2

我会使用Mercurial、Git或Bazaar等任何分布式风投。它们都有存储库和您的工作副本。

我会使用任何分布式VCS,如Mercurial、Git或Bazaar。他们都有存储库和你的工作副本。

@marc\u s我试图对我的问题进行一些改进。最好的是我使用最简单的,我花了最少的时间来管理你也可以考虑你的一天的编程任务作为一个单一的MISC项目(包含一个子目录为每一个这样的任务),并管理该MISC项目下的一个真正的版本控制系统(如代码> Git < /代码>)@我试着把我的问题精炼一点。最好的是我使用最简单的,我花了最少的时间来管理你也可以考虑你的一天的编程任务作为一个单一的MISC项目(包含一个子目录为每一个这样的任务),并管理该MISC项目下的一个真正的版本控制系统(如代码> Git < /代码>)我已经有了真正的SVN服务器设置,我知道如何使用
文件://
SVN repos。我不想经历创建新回购协议的所有麻烦,记住它在哪里,等等。在Windows中,只需右键单击目录,导入并键入项目名称,然后签出并提交即可。没什么好记的……啊,我不知道乌龟SVN把事情做得这么简单!不管怎样,我实际上在使用Linux。虽然,我希望它有一个乌龟SVN端口,但就我所见,唯一好的SVN工具是
SVN
命令Linux@Earlz当前位置阅读您的评论有一件事让我感到困扰:为什么您要为每个flywight项目创建新的回购协议?为什么不使用一个包含所有flywigth项目的回购协议,并使用多个子目录?这一举措减少了大量的开销,并引入了一些优势(比如一年左右后的“它很小,必须存在”查询)。我已经有了真正的SVN服务器设置,并且我知道如何使用
file://
SVN repos。我不想经历创建新回购协议、记住回购协议的位置等所有麻烦。在Windows中,只需右键单击即可