建议请为家庭版控制系统

时间:2021-08-19 06:48:46

I have a home project that really needs to be in Source Control. I tried installing Subversion, which I have some experience with, but couldn't get it working. I don't particularly want to use SourceSafe. I'm a bit nervous about Git/Mercury as being somewhat cryptic, although this is only based on opinion rather than my experience.

我有一个真正需要在Source Control中的家庭项目。我尝试安装Subversion,我有一些经验,但无法让它工作。我不是特别想使用SourceSafe。我有点担心Git / Mercury有点神秘,虽然这只是基于意见而不是我的经验。

Main requirements are:

主要要求是:

  1. Must be open source (well, it needs to be free but that sounds a bit cheap!)
  2. 必须是开源的(好吧,它需要是免费的,但听起来有点便宜!)

  3. Must run on Win32
  4. 必须在Win32上运行

  5. Would prefer a GUI interface if one is available
  6. 如果可用,则更喜欢GUI界面

Many thanks in advance!

提前谢谢了!

edit: Just to let you all know, I installed VisualSVN and had it working in no time. Thanks for the great advice.

编辑:只是为了让大家都知道,我安装了VisualSVN并让它立即工作。感谢您的宝贵意见。

17 个解决方案

#1


18  

I know you mentioned you already tried Subversion and had some issues but you really can't beat the easy install & configuration of

我知道你提到你已经尝试过Subversion并遇到了一些问题,但你真的无法轻松安装和配置

VisualSVN Server

Insanely easy to setup & maintain.

非常容易设置和维护。


Use VisualSVN for the back-end and TortoiseSVN for the client and you'll be up and running in no time.

使用VisualSVN作为后端,使用TortoiseSVN作为客户端,您将立即启动并运行。

Plus you can always do an svndump of the VisualSVN repository if you want to switch to something else down the road.

此外,如果您想要切换到其他方式,您可以随时执行VisualSVN存储库的svndump。

#2


11  

See also

Best Version control for lone developer

单独开发人员的最佳版本控制

#3


5  

Perforce has a free two user version. Excellent product. http://www.perforce.com/

Perforce有一个免费的两个用户版本。优秀的产品。 http://www.perforce.com/

2012 Update: There now a free 20 user version, still excellent, with new features.

2012年更新:现在有一个免费的20用户版本,仍然很好,具有新功能。

#4


4  

I think SVN is really your best bet. Take a look at the documentation here about how to set it up.

我认为SVN真的是你最好的选择。请查看此处有关如何设置的文档。

I've set up a couple SVN repos on a windows box and never really had a problem especially when you use TortoiseSVN

我在Windows机器箱上设置了几个SVN repos,从来没有真正出现问题,特别是当你使用TortoiseSVN时

#5


4  

Don't be scared of by git. It has gotten far easier to use than it used to be!

不要被git吓到。它比以前更容易使用!

It fits all your requirements (open source/free/run on Win32/have a GUI, which is included), and there are lots of good resources available.

它符合您的所有要求(在Win32上开源/免费/运行/有一个GUI,包括在内),并且有很多可用的好资源。

As a really basic guide, using the command line (the "Git GUI" should be pretty self explanatory):

作为一个非常基本的指南,使用命令行(“Git GUI”应该是非常自我解释):

  1. mkdir myrepo - make a new directory, this could be an existing dir with your code in it
    • git init - makes the directory into a git repository. this basically adds a .git/ folder to the current directory. This is like using VisualSVN, creating a new repository then checking it out to a working directory (just without the server
    • git init - 将目录放入git存储库。这基本上会将.git /文件夹添加到当前目录中。这就像使用VisualSVN,创建一个新的存储库,然后将其检出到工作目录(只是没有服务器

    • vim myfile.txt - make a new file, if you have existing files, you obviously can skip this
    • vim myfile.txt - 创建一个新文件,如果你有现有文件,你显然可以跳过这个

    • git add myfile.txt - start tracking the new file (similar to svn add'ing a file)
    • git add myfile.txt - 开始跟踪新文件(类似于svn添加文件)

    • git commit - commits whatever you have run git add on.
    • git commit - 提交任何运行git add的东西。

  2. mkdir myrepo - 创建一个新目录,这可能是一个现有的dir,其代码在其中git init - 将该目录放入git存储库。这基本上会将.git /文件夹添加到当前目录中。这就像使用VisualSVN,创建一个新的存储库然后将其检出到工作目录(只是没有服务器vim myfile.txt - 创建一个新文件,如果你有现有文件,你显然可以跳过这个git add myfile.txt - 开始跟踪新文件(类似于svn添加文件)git commit - 提交你运行git add的任何东西。

..and that's it. You have a version tracked file! When you change the file, you do git add myfile.txt again to "stage" the changes, then commit to add all the staged files into a commit.

..就是这样。你有一个版本跟踪文件!当您更改文件时,您再次执行git add myfile.txt以“暂存”更改,然后提交将所有暂存文件添加到提交中。

It's slightly different to how SVN works. With SVN, you commit a file, and it gets sent to the server. With git, you stage a file (or multiple files, or even bits of a file, which is very useful), then commit them.

它与SVN的工作方式略有不同。使用SVN,您提交一个文件,然后将其发送到服务器。使用git,您可以暂存一个文件(或多个文件,甚至一个文件的位,这非常有用),然后提交它们。

You can do all of the above easily (including creating repositories, staging specific lines in a file) in Git GUI.

您可以在Git GUI中轻松完成上述所有操作(包括创建存储库,在文件中暂存特定行)。

On Windows, install msysgit.

在Windows上,安装msysgit。

Then, if you don't mind spending $9, watch the Peepcode GIT episode for a comprehensive overview of what git is, how it works, and how to use it.

然后,如果你不介意花9美元,请观看Peepcode GIT剧集,全面了解git是什么,它是如何工作的,以及如何使用它。

Alternatively, GitCasts are also a very good (free) set of screencasts, which cover most of the basic stuff. Watch the ones you think would be useful to you, I would recommend watching the setting up, then normal workflow, then GIT on windows

另外,GitCasts也是一套非常好(免费)的截屏视频,涵盖了大部分基本内容。观看您认为对您有用的那些,我建议您观看设置,然后是正常的工作流程,然后是Windows上的GIT

Finally, GIT Magic is a great guide to doing everything with git. I use it a lot, despite having used git a lot over the last year or so (it's useful for answering "how do I..." things you forget. Say "how do I recover a lost commit", "how do I reset the repository to 4 revisions back")

最后,GIT Magic是使用git做所有事情的好指南。我使用它很多,尽管在过去一年左右使用了很多git(它对于回答“我如何......”你忘记的事情很有用。说“我如何恢复丢失的提交”,“我该怎么办?将存储库重置为4个版本“)

I would also recommend playing around with GitHub. It's a very nice to use git-hosting site. When you create a new repository, it gives you the list of commands to make a new repository, and push your changes to to github (something I didn't really cover - the distributed workflow gitcasts, the peepcode episode and git magic all cover this really well)

我还建议玩GitHub。使用git托管网站是一件非常好的事。当您创建一个新的存储库时,它会为您提供创建新存储库的命令列表,并将您的更改推送到github(我没有真正涵盖的内容 - 分布式工作流gitcasts,peepcode episode和git magic都涵盖了这个真的很好)

#6


3  

I personally use SourceGear's Vault product, it is free for single user access, and was a breeze to setup, and it has a GUI admin client as well as VS Integration.

我个人使用SourceGear的Vault产品,它可以免费进行单一用户访问,并且设置起来轻而易举,它还有一个GUI管理客户端和VS集成。

#7


3  

I can't believe nobody has mentioned GIT.

我不敢相信没有人提到过GIT。

It's ideal for what you are looking for. Each working directory becomes a repository. It's a simple case of changing to your project dir. Init'ing and Committing then start working. Has some neat features for branching and merging.

它是您寻找的理想选择。每个工作目录都成为存储库。这是一个改变你的项目目录的简单案例。初始化和承诺然后开始工作。具有分支和合并的一些简洁功能。

#8


2  

You can use Subversion without the hassle of a server installation.

您可以使用Subversion而无需安装服务器。

Just download TortoiseSVN and create a local repository in a folder that you prefer. Use the same client to do updates, commits...

只需下载TortoiseSVN并在您喜欢的文件夹中创建本地存储库。使用相同的客户端进行更新,提交...

More info: link1 / link2

更多信息:link1 / link2

#9


2  

Someone mentioned Git; I'll mention Mercurial with TortoiseHg.

有人提到Git;我会提到Mercurial和TortoiseHg。

#10


1  

It's not really in vogue anymore but I've had great success using CVS for version control. I keep a 'code' folder with all my code snippets in various languages, as well as all my personal home projects in a CVS repository. CVS is older and doesn't work as well as other systems with renaming or restructuring the folders/files. On the flip side, the fact that it's been around so long means there are many ports and GUI applications for it, as well as integration packages for IDEs, etc. I've been very happy with it for the past several years that I've been using it, despite any shortcomings.

它不再流行,但我在使用CVS进行版本控制方面取得了巨大成功。我保留了一个“代码”文件夹,其中包含各种语言的所有代码片段,以及CVS存储库中的所有个人主页项目。 CVS较旧,并且与重命名或重构文件夹/文件的其他系统不同。另一方面,它已经存在了很长时间,这意味着它有很多端口和GUI应用程序,以及IDE的集成包等。过去几年我对它非常满意。尽管有任何缺点,我一直在使用它。

#11


1  

I've used both cvs and svn, to great effect, for home projects. Personally, I sound svn slightly harder to set up initially - defining the directory structure and using those URLs for everything seemed to be give more hassle than it should've. Although svn is generally seeing greater use throughout the industry, if you don't have any problems with cvs, I would worry too much about the distinction. The concepts surrounding source control (which mainly overlap between the two) are more important.

对于家庭项目,我使用了cvs和svn,效果很好。就个人而言,我觉得svn最初设置稍微困难 - 定义目录结构并使用这些URL似乎比它应该给予更多的麻烦。虽然svn通常在整个行业中有更大的用途,但如果你对cvs没有任何问题,我会过分担心这种区别。围绕源控制的概念(主要在两者之间重叠)更为重要。

#12


1  

You should at least look at the open source fossil VCS www.fossil-scm.org it can work as both DVCS and a client server VCS.

您至少应该看看开源化石VCS www.fossil-scm.org它可以作为DVCS和客户端服务器VCS工作。

  • Simple to install, a single executable.
  • 安装简单,单个可执行文件。

  • Simple to backup, it is a single SQLLITE repository.
  • 它易于备份,是一个单一的SQLLITE存储库。

  • Simple to take your repository with you anywhere, I run fossil from a thumb drive and can now take my personal code anywhere my thumb drive goes.
  • 很容易随身携带您的存储库,我从拇指驱动器运行化石,现在可以将我的个人代码带到我的拇指驱动器的任何地方。

Right now it does not have a GUI interface, but I am sure there will be one sometime in the future.

现在它没有GUI界面,但我相信将来某个时候会有一个界面。

If you play around with fossil you will find that using command line VCS is not as complicated as it might seem.

如果你玩化石,你会发现使用命令行VCS并不像它看起来那么复杂。

#13


0  

Well, frankly, I'd suggest sucking it up and doing SVN. It can be a rough start, but it will pay off.

嗯,坦率地说,我建议吮吸它并做SVN。这可能是一个艰难的开始,但它会得到回报。

#14


0  

Another vote for Subversion+TortoiseSVN, although it doesn't play nicely on domestic NAS based on FAT32.

对Subversion + TortoiseSVN的另一次投票,虽然它在基于FAT32的国内NAS上表现不佳。

#15


0  

I've been pondering this exact question, and have been seriously considering Bazaar. I can't tell you how good it is, not having used it, but you might want to check it out, as it looks promising. Similar to Git and Mercurial, but they claim it's much easier to set up and use.

我一直在思考这个问题,并且一直在认真考虑Bazaar。我不能告诉你它有多好,没有使用它,但是你可能想看看它,因为它看起来很有希望。与Git和Mercurial类似,但他们声称设置和使用起来要容易得多。

#16


0  

I use Buildix from Thoughtworks. You can install it on a dedicated server or use it as a VM. Though it's more than just SVN: It also includes trac, Cruisecontrol and Mingle.

我使用Thoughtworks的Buildix。您可以将其安装在专用服务器上或将其用作VM。虽然它不仅仅是SVN:它还包括trac,Cruisecontrol和Mingle。

#17


0  

The only options I'm aware of that meet your requirements are CVS and SVN. Of those 2, I would recommend SVN. I know you've already tried it without success, so perhaps you should try posting another question describing exactly what the problem was.

我所知道的唯一符合您要求的选项是CVS和SVN。在这2个中,我会推荐SVN。我知道你已经尝试过但没有成功,所以也许你应该尝试发一个问题来描述问题究竟是什么。

Our glorious leader posted a step-by-step guide describing how to setup SVN on windows, which might resolve your problem.

我们光荣的领导者发布了一个分步指南,描述了如何在Windows上设置SVN,这可能会解决您的问题。

#1


18  

I know you mentioned you already tried Subversion and had some issues but you really can't beat the easy install & configuration of

我知道你提到你已经尝试过Subversion并遇到了一些问题,但你真的无法轻松安装和配置

VisualSVN Server

Insanely easy to setup & maintain.

非常容易设置和维护。


Use VisualSVN for the back-end and TortoiseSVN for the client and you'll be up and running in no time.

使用VisualSVN作为后端,使用TortoiseSVN作为客户端,您将立即启动并运行。

Plus you can always do an svndump of the VisualSVN repository if you want to switch to something else down the road.

此外,如果您想要切换到其他方式,您可以随时执行VisualSVN存储库的svndump。

#2


11  

See also

Best Version control for lone developer

单独开发人员的最佳版本控制

#3


5  

Perforce has a free two user version. Excellent product. http://www.perforce.com/

Perforce有一个免费的两个用户版本。优秀的产品。 http://www.perforce.com/

2012 Update: There now a free 20 user version, still excellent, with new features.

2012年更新:现在有一个免费的20用户版本,仍然很好,具有新功能。

#4


4  

I think SVN is really your best bet. Take a look at the documentation here about how to set it up.

我认为SVN真的是你最好的选择。请查看此处有关如何设置的文档。

I've set up a couple SVN repos on a windows box and never really had a problem especially when you use TortoiseSVN

我在Windows机器箱上设置了几个SVN repos,从来没有真正出现问题,特别是当你使用TortoiseSVN时

#5


4  

Don't be scared of by git. It has gotten far easier to use than it used to be!

不要被git吓到。它比以前更容易使用!

It fits all your requirements (open source/free/run on Win32/have a GUI, which is included), and there are lots of good resources available.

它符合您的所有要求(在Win32上开源/免费/运行/有一个GUI,包括在内),并且有很多可用的好资源。

As a really basic guide, using the command line (the "Git GUI" should be pretty self explanatory):

作为一个非常基本的指南,使用命令行(“Git GUI”应该是非常自我解释):

  1. mkdir myrepo - make a new directory, this could be an existing dir with your code in it
    • git init - makes the directory into a git repository. this basically adds a .git/ folder to the current directory. This is like using VisualSVN, creating a new repository then checking it out to a working directory (just without the server
    • git init - 将目录放入git存储库。这基本上会将.git /文件夹添加到当前目录中。这就像使用VisualSVN,创建一个新的存储库,然后将其检出到工作目录(只是没有服务器

    • vim myfile.txt - make a new file, if you have existing files, you obviously can skip this
    • vim myfile.txt - 创建一个新文件,如果你有现有文件,你显然可以跳过这个

    • git add myfile.txt - start tracking the new file (similar to svn add'ing a file)
    • git add myfile.txt - 开始跟踪新文件(类似于svn添加文件)

    • git commit - commits whatever you have run git add on.
    • git commit - 提交任何运行git add的东西。

  2. mkdir myrepo - 创建一个新目录,这可能是一个现有的dir,其代码在其中git init - 将该目录放入git存储库。这基本上会将.git /文件夹添加到当前目录中。这就像使用VisualSVN,创建一个新的存储库然后将其检出到工作目录(只是没有服务器vim myfile.txt - 创建一个新文件,如果你有现有文件,你显然可以跳过这个git add myfile.txt - 开始跟踪新文件(类似于svn添加文件)git commit - 提交你运行git add的任何东西。

..and that's it. You have a version tracked file! When you change the file, you do git add myfile.txt again to "stage" the changes, then commit to add all the staged files into a commit.

..就是这样。你有一个版本跟踪文件!当您更改文件时,您再次执行git add myfile.txt以“暂存”更改,然后提交将所有暂存文件添加到提交中。

It's slightly different to how SVN works. With SVN, you commit a file, and it gets sent to the server. With git, you stage a file (or multiple files, or even bits of a file, which is very useful), then commit them.

它与SVN的工作方式略有不同。使用SVN,您提交一个文件,然后将其发送到服务器。使用git,您可以暂存一个文件(或多个文件,甚至一个文件的位,这非常有用),然后提交它们。

You can do all of the above easily (including creating repositories, staging specific lines in a file) in Git GUI.

您可以在Git GUI中轻松完成上述所有操作(包括创建存储库,在文件中暂存特定行)。

On Windows, install msysgit.

在Windows上,安装msysgit。

Then, if you don't mind spending $9, watch the Peepcode GIT episode for a comprehensive overview of what git is, how it works, and how to use it.

然后,如果你不介意花9美元,请观看Peepcode GIT剧集,全面了解git是什么,它是如何工作的,以及如何使用它。

Alternatively, GitCasts are also a very good (free) set of screencasts, which cover most of the basic stuff. Watch the ones you think would be useful to you, I would recommend watching the setting up, then normal workflow, then GIT on windows

另外,GitCasts也是一套非常好(免费)的截屏视频,涵盖了大部分基本内容。观看您认为对您有用的那些,我建议您观看设置,然后是正常的工作流程,然后是Windows上的GIT

Finally, GIT Magic is a great guide to doing everything with git. I use it a lot, despite having used git a lot over the last year or so (it's useful for answering "how do I..." things you forget. Say "how do I recover a lost commit", "how do I reset the repository to 4 revisions back")

最后,GIT Magic是使用git做所有事情的好指南。我使用它很多,尽管在过去一年左右使用了很多git(它对于回答“我如何......”你忘记的事情很有用。说“我如何恢复丢失的提交”,“我该怎么办?将存储库重置为4个版本“)

I would also recommend playing around with GitHub. It's a very nice to use git-hosting site. When you create a new repository, it gives you the list of commands to make a new repository, and push your changes to to github (something I didn't really cover - the distributed workflow gitcasts, the peepcode episode and git magic all cover this really well)

我还建议玩GitHub。使用git托管网站是一件非常好的事。当您创建一个新的存储库时,它会为您提供创建新存储库的命令列表,并将您的更改推送到github(我没有真正涵盖的内容 - 分布式工作流gitcasts,peepcode episode和git magic都涵盖了这个真的很好)

#6


3  

I personally use SourceGear's Vault product, it is free for single user access, and was a breeze to setup, and it has a GUI admin client as well as VS Integration.

我个人使用SourceGear的Vault产品,它可以免费进行单一用户访问,并且设置起来轻而易举,它还有一个GUI管理客户端和VS集成。

#7


3  

I can't believe nobody has mentioned GIT.

我不敢相信没有人提到过GIT。

It's ideal for what you are looking for. Each working directory becomes a repository. It's a simple case of changing to your project dir. Init'ing and Committing then start working. Has some neat features for branching and merging.

它是您寻找的理想选择。每个工作目录都成为存储库。这是一个改变你的项目目录的简单案例。初始化和承诺然后开始工作。具有分支和合并的一些简洁功能。

#8


2  

You can use Subversion without the hassle of a server installation.

您可以使用Subversion而无需安装服务器。

Just download TortoiseSVN and create a local repository in a folder that you prefer. Use the same client to do updates, commits...

只需下载TortoiseSVN并在您喜欢的文件夹中创建本地存储库。使用相同的客户端进行更新,提交...

More info: link1 / link2

更多信息:link1 / link2

#9


2  

Someone mentioned Git; I'll mention Mercurial with TortoiseHg.

有人提到Git;我会提到Mercurial和TortoiseHg。

#10


1  

It's not really in vogue anymore but I've had great success using CVS for version control. I keep a 'code' folder with all my code snippets in various languages, as well as all my personal home projects in a CVS repository. CVS is older and doesn't work as well as other systems with renaming or restructuring the folders/files. On the flip side, the fact that it's been around so long means there are many ports and GUI applications for it, as well as integration packages for IDEs, etc. I've been very happy with it for the past several years that I've been using it, despite any shortcomings.

它不再流行,但我在使用CVS进行版本控制方面取得了巨大成功。我保留了一个“代码”文件夹,其中包含各种语言的所有代码片段,以及CVS存储库中的所有个人主页项目。 CVS较旧,并且与重命名或重构文件夹/文件的其他系统不同。另一方面,它已经存在了很长时间,这意味着它有很多端口和GUI应用程序,以及IDE的集成包等。过去几年我对它非常满意。尽管有任何缺点,我一直在使用它。

#11


1  

I've used both cvs and svn, to great effect, for home projects. Personally, I sound svn slightly harder to set up initially - defining the directory structure and using those URLs for everything seemed to be give more hassle than it should've. Although svn is generally seeing greater use throughout the industry, if you don't have any problems with cvs, I would worry too much about the distinction. The concepts surrounding source control (which mainly overlap between the two) are more important.

对于家庭项目,我使用了cvs和svn,效果很好。就个人而言,我觉得svn最初设置稍微困难 - 定义目录结构并使用这些URL似乎比它应该给予更多的麻烦。虽然svn通常在整个行业中有更大的用途,但如果你对cvs没有任何问题,我会过分担心这种区别。围绕源控制的概念(主要在两者之间重叠)更为重要。

#12


1  

You should at least look at the open source fossil VCS www.fossil-scm.org it can work as both DVCS and a client server VCS.

您至少应该看看开源化石VCS www.fossil-scm.org它可以作为DVCS和客户端服务器VCS工作。

  • Simple to install, a single executable.
  • 安装简单,单个可执行文件。

  • Simple to backup, it is a single SQLLITE repository.
  • 它易于备份,是一个单一的SQLLITE存储库。

  • Simple to take your repository with you anywhere, I run fossil from a thumb drive and can now take my personal code anywhere my thumb drive goes.
  • 很容易随身携带您的存储库,我从拇指驱动器运行化石,现在可以将我的个人代码带到我的拇指驱动器的任何地方。

Right now it does not have a GUI interface, but I am sure there will be one sometime in the future.

现在它没有GUI界面,但我相信将来某个时候会有一个界面。

If you play around with fossil you will find that using command line VCS is not as complicated as it might seem.

如果你玩化石,你会发现使用命令行VCS并不像它看起来那么复杂。

#13


0  

Well, frankly, I'd suggest sucking it up and doing SVN. It can be a rough start, but it will pay off.

嗯,坦率地说,我建议吮吸它并做SVN。这可能是一个艰难的开始,但它会得到回报。

#14


0  

Another vote for Subversion+TortoiseSVN, although it doesn't play nicely on domestic NAS based on FAT32.

对Subversion + TortoiseSVN的另一次投票,虽然它在基于FAT32的国内NAS上表现不佳。

#15


0  

I've been pondering this exact question, and have been seriously considering Bazaar. I can't tell you how good it is, not having used it, but you might want to check it out, as it looks promising. Similar to Git and Mercurial, but they claim it's much easier to set up and use.

我一直在思考这个问题,并且一直在认真考虑Bazaar。我不能告诉你它有多好,没有使用它,但是你可能想看看它,因为它看起来很有希望。与Git和Mercurial类似,但他们声称设置和使用起来要容易得多。

#16


0  

I use Buildix from Thoughtworks. You can install it on a dedicated server or use it as a VM. Though it's more than just SVN: It also includes trac, Cruisecontrol and Mingle.

我使用Thoughtworks的Buildix。您可以将其安装在专用服务器上或将其用作VM。虽然它不仅仅是SVN:它还包括trac,Cruisecontrol和Mingle。

#17


0  

The only options I'm aware of that meet your requirements are CVS and SVN. Of those 2, I would recommend SVN. I know you've already tried it without success, so perhaps you should try posting another question describing exactly what the problem was.

我所知道的唯一符合您要求的选项是CVS和SVN。在这2个中,我会推荐SVN。我知道你已经尝试过但没有成功,所以也许你应该尝试发一个问题来描述问题究竟是什么。

Our glorious leader posted a step-by-step guide describing how to setup SVN on windows, which might resolve your problem.

我们光荣的领导者发布了一个分步指南,描述了如何在Windows上设置SVN,这可能会解决您的问题。