![]() |
1
12
我认为您会发现,在实践中,开发人员更喜欢使用中央存储库,而不是在彼此的本地存储库之间推拉。克隆了中央存储库后,在处理任何跟踪分支时,获取和推送都是很简单的命令。在所有同事的本地存储库中添加六个遥控器是一件痛苦的事情,而且这些存储库可能并不总是可以访问的(关闭,放在带回家的笔记本电脑上,等等)。
一旦设置了中央存储库,就可以使用cvs/svn样式的工作流进行签入和更新。如果您有本地更改,cvs更新将变成git fetch和rebase,如果您没有本地更改,则变成git pull。cvs提交变成git提交和git推送。
在这两种情况下,需要遵守规则的是防止开发人员将长时间运行的更改保留在中央存储库之外。我们中的大多数人可能都是在这样的情况下工作的,即一个开发人员正在开发功能“x”,这需要对一些核心代码进行根本性的更改。更改将导致其他所有人都需要完全重建,但该功能还没有准备好用于主流,所以他只是将其签出,直到合适的时间点。 这两种情况的情况非常相似,尽管存在一些实际差异。使用git,因为您可以执行本地提交并管理本地历史记录,所以单个开发人员可能不会像使用cvs这样的工具那样感觉到需要推送到中央存储库。
例如,对于Joe Bloggs,可以在其本地存储库中创建一个别名,以执行以下操作来响应(例如)
这有助于应对各种灾难。乔的机器坏了,他可以用另一台机器取货,然后从他离开的地方继续前进。乔病了?弗雷德可以把乔的树枝拿过来,抓住他昨天做的那个“必修课”,但并没有机会和大师较量。 回到原来的问题。DVC和集中式VCS之间需要有区别吗?您说,在dVCS的情况下,半实现的特性和错误修复不会最终出现在中央存储库中,但我认为这不需要有什么区别。 我见过很多情况,当使用集中式VCS时,一个半实现的特性停留在一个开发人员的工作盒上。它要么采用允许将半写功能签入主流的策略,要么必须决定创建一个中心分支。 在dVCS中,同样的事情也可能发生,但应该做出同样的决定。如果有重要但不完整的工作,则需要集中保存。git的优点是创建这个中心分支几乎是微不足道的。 |
![]() |
2
4
必须 由于一个项目中有几个以上的开发人员在工作,因此必须记住从其他人那里获取更改是非常乏味的。如果你知道,你会怎么做 有一个中央存储库吗? 在工作中,我们有一个备份解决方案,每天备份每个人的工作目录,每周将全部内容写入DVD。因此,尽管我们有一个中央存储库,但每个单独的存储库也是备份的。 |
![]() |
3
1
|
![]() |
4
1
我觉得这个问题有点奇怪。假设您使用的是非分布式版本控制系统,例如CVS,那么您将在中央服务器上拥有一个存储库,并在开发人员的服务器上进行工作。如何备份存储库?如何备份开发人员正在进行的工作?这些问题的答案正是你必须做什么来处理你的问题。 使用分布式版本控制,开发人员服务器上的存储库正在进行中。你想备份它吗?那就倒回去!就这么简单。 我们有一个自动备份系统,可以从我们指定的机器上获取任何目录,因此我在最后添加了机器上的任何存储库和工作副本,包括git和CVS存储库。 顺便说一下,如果您在发布产品的公司中使用分布式版本控制,那么 将 有一个中央存储库。这是你从中释放出来的。它可能不在特殊的服务器上;它可能在某个开发者的硬盘上。但是您从中发布的存储库是中央存储库。(我想如果您还没有发布,您可能还没有发布。)我感觉所有项目都有一个或多个中央存储库。(如果他们有不止一个项目,那就是两个项目,一个是分支。)这也适用于开源。 即使您没有中央存储库,解决方案也是一样的:备份开发人员机器上的工作。你本来应该这么做的。正在进行的工作在分布式存储库中,而不是在CVS工作副本或直接的非版本目录中,这一事实无关紧要。 |
![]() |
5
0
DropBox 将本地回购协议无缝复制到其他地方。 |
![]() |
6
0
您团队中的所有开发人员也可以在服务器上拥有自己的分支(可以是每个票证,也可以是每个开发人员,等等)。这样,他们不会破坏内置主分支,但仍然可以将正在进行的工作推送到备份的服务器。 My own git_remote_branch 对于这种工作流,该工具可能会派上用场(请注意,它需要Ruby)。它有助于操纵远程分支。 顺便说一句,在谈到回购安全时,您可以在服务器上设置一个post-commit钩子,用于对另一台机器进行简单的git克隆或git推送。。。每次提交后,您都会得到最新的备份! |
![]() |
7
0
我们使用rsync将各个developers.git目录备份到服务器上的一个目录中。这是使用围绕git clone的包装器脚本和post commit等挂钩进行设置的。 因为它是在post-*钩子中完成的,所以开发人员不需要记住手动完成。因为我们使用带超时的rsync,如果服务器停机或者用户远程工作,它们仍然可以工作。 |
|
Soenka YTB · WP-如何撤消“还原此修订”操作 11 月前 |
![]() |
Community wiki · Sql 2005备份和架构更改交互 1 年前 |
![]() |
Thysce · 如何使用分块方法将文件流式传输到tar? 1 年前 |
![]() |
starttter · 备份/还原kafka和zookeeper 7 年前 |