We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
听起来 Git 可以很好地实现你的目标。由于它是分布式的,因此非常适合本地工作,因为您可以执行大多数操作(提交、恢复、差异、修补)而无需连接到中央服务器。您还可以避免这样一个丑陋的时刻:有人将新代码推向生产环境,而其他人正在处理它,然后执行将这两个版本的代码合并在一起的复杂任务(git 提供了一个有用的工具来执行此操作,称为 rebase)。
您注意到有一些大型项目使用 Hg (Mercurial),但也有一些相当大的项目使用 Git,例如 Linux Kernel、X.org、Android 和 Debian。
我的所有网站都使用 git:它快如闪电、高效且易于使用。
编辑:如果您想开始使用 Git,我建议您先阅读一些内容,然后再开始使用。一开始的错误可能会在以后产生一些可怕的影响。如果您遵循敏捷工作流程,您可能需要检查 这个了。 这是一个我从中学到大部分 Git 知识的网站。
It sounds like Git can accomplish your goals quite well. As it's distributed, it's excellent for working locally since you can perform most operations (commit, revert, diff, patch) without connecting to a central server. You can also avoid that ugly moment of someone pushing new code to production while someone else is working on it, and then having the complicated task of merging those two versions of the code together (git provides a useful tool for doing this called rebase).
You noted there's some big projects using Hg (Mercurial), but there's some pretty big ones using Git, like the Linux Kernel, X.org, Android and Debian.
I use git for all my sites: it's lightning fast, efficient, and easy to use.
Edit: If you want to get into using Git, I'd recommend doing some reading before jumping right in. Starting off on the wrong foot can have some terrible implications later on. If you follow an Agile Workflow, you might want to check this out. Here's a website I learned most of my Git know-how from.
即使您单独工作时,版本控制也是一个令人难以置信的工具,而当您与其他人一起工作时,它是不可或缺的。我建议使用 git。它速度非常快,有一套非常好的可用工具,当然还有 github.com。 Mercurial 基本上和 git 一样好,但运行速度慢一点,而且没有 github。
关于为什么要使用 git,请阅读 http://whygitisbetterthanx.com/
这里有一个好看的入门教程使用 git:http://www-cs-students.stanford。 edu/~blynn/gitmagic/index.html
Version control is an incredible tool even when you're working alone, and when you are working with someone else it's indispensable. I would recommend using git. It's very fast, has a really great set of available tools, and of course has github.com. Mercurial is basically just as good as git, but it runs a little slower and doesn't have github.
For why to use git, please read http://whygitisbetterthanx.com/
Here's a nice-looking tutorial on getting started with git: http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html
您可以使用 SVN、Git、Mercurial。
最大的挑战是让每个人都遵守使用版本控制的纪律,而不是偷懒。
You can use SVN, Git, Mercurial.
The biggest challenge is having everyone be disciplined in using version control and not getting lazy.
绝对是水银。尽管您可以使用 Git 或 SVN,但 Mercurial 更好,原因有两个:
如果您不想自己运行 Mercurial 服务器(无论如何这很容易),有许多可用的服务。 Kiln + FogBugz 是一个出色的组合。还有 CodeBaseHQ(也支持 Git 和 SVN)、Bitbucket 等等。
在开始之前,我强烈建议您至少阅读 Joel Spolsky 的教程,但我强烈建议您还阅读Mercurial:权威指南。
Definitely Mercurial. Although you can use either Git or SVN, Mercurial is better for two reasons:
If you don't want to run yourself a Mercurial server (which is pretty easy anyway), there are many services available. Kiln + FogBugz is an EXCELLENT combination. There's also CodeBaseHQ (also supports Git and SVN), Bitbucket, and many more.
Before you jump onto it I strongly recommend you read at least Joel Spolsky's tutorial, but I strongly recommend you also read Mercurial: The Definitive Guide.
抱歉,我无意发起DVCS圣战。我要尝试一下 Git。
I am sorry, I had no intention of starting a DVCS holy war. I am going to try Git.
是的,版本控制会有所帮助。首先,我看到您面临两个重要问题:
托管还是自我管理?您想要自己在服务器上托管它,还是希望有服务为您处理它?无论哪种方式都有理由选择,但如果您不那么热衷于管理服务器,请寻找托管选项。
SVN 或 Git 还有其他的,但这些是顶级的开源竞争者。
优点和缺点(我的观点):
SVN:很好的教程,而且相当容易上手。训练要求很小(我已经做了一点)。 SVN 与同地办公的团队、大量项目等配合得非常好。由于分支机构数量有限(您可能不需要任何分支机构),它很可靠。有很多与其他工具的集成。
Git:入门可能比 SVN 稍微困难一些。有些文档很好,但很多文档都假设对内部结构有相当透彻的了解。一旦你掌握了它的窍门,它就有很大的灵活性,但我发现几乎所有开始使用它的人在开始时都遇到了困难。即使在使用了几个月之后,人们仍然在争论应该使用的最佳模式。对于 1 人项目(您想要跟踪历史记录)以及像 GitHub 这样的分布式项目来说,这真的很方便。即使对于小型共处一地的团队,我也使用 Git,因为我喜欢它的速度和灵活性。
不过,考虑到您对您的团队的评价,我可能会建议尝试 SVN。将会有更好的资源来帮助您继续前进,并且您不太可能因此而感到沮丧。
希望这有帮助。
Yes, version control will help. To get started, I see two important issues for you:
hosted or self-managed? Do you want to host this yourself on a server, or want a service to take care of it for you? There are reasons to go either way, but if you're not that into managing the server look for a hosted option.
SVN or Git There are others, but these are the top open source contenders.
Pros and Cons (my opinion):
SVN: Good tutorials and fairly easy to get up-to-speed with. The training requirement is small (I've done a bit of it). SVN works really well with a co-located team, lots of projects, etc. With a limited number of branches (you may not need any), it is solid. There are plenty of integrations with other tools.
Git: Getting started can be a little rougher than with SVN. Some of the docs are good, but lots are geared assume a rather thorough understanding of the internals. Once you get the hang of it, it has great flexibility, but I've seen almost everyone who has started with it really stumble when beginning. Even after working with it for months, people debate the best patterns to use. It's really sweet for 1-person projects (where you want to track history), and for distributed projects like GitHub. I use Git even for small co-located teams, because I enjoy the speed and flexibility.
Given what you say about your team, though, I'd probably recommend trying SVN. There will be better resources to help you get going, and you'll be less likely to get frustrated with it.
Hope this helps.