gpt4 book ai didi

bazaar - 试图了解 BZR 存储库 II

转载 作者:行者123 更新时间:2023-12-01 15:22:00 27 4
gpt4 key购买 nike

我想知道 bzr init-repo Repobzr init-repo Repo --no-trees 之间有什么区别。我已经尝试过了,但似乎看不出有什么不同。

对于这两者,我无法将文件直接添加到存储库中(我必须先创建分支)。他们对我的行为似乎完全一样。

谁能给我解释一下有什么区别?

编辑: 谢谢大家的回答。但是,在阅读了您的回答后,我仍然不太明白其中的实际差异。

我做了一些更多的实验,发现有/没有树,我可以在存储库 (bzr init) 中创建分支。但只有那些有树的,我才能添加一个文件并提交。没有树的,我只能从别的地方拉。

换句话说,没有树的是那些几乎只读的('几乎'因为你仍然可以从其他地方拉出新分支)。这有什么用?性能是唯一的原因吗?

提前致谢。

最佳答案

为了解释得更清楚一点,-no-trees 选项意味着不为存储在存储库中的任何分支保留工作树。

这是什么意思?

1) 存储库不包含您的源文件。不相信我?将 cd 转到无树存储库内的一个分支,然后告诉我“ls”能给你带来什么。什么都没有。

现在,实际存储的是文件的历史记录,因此可以从该历史记录中重建文件。

2) 您不能在无树存储库中工作,因为没有工作树。这是你自己发现的——你不能 promise 。为什么不?因为文件不存在。只有他们的历史是。

那么,无树存储库有什么好处?如前所述,它们适用于中央服务器。如果你和 Bob 正在做一个项目,并且你们并不总是能够从彼此的个人机器上推送/拉取,或者你在一家公司工作,想要一个地方来放置最新的干净的“主干”,然后共享一个具有无树存储库的服务器就是您的答案。

这是它的工作原理。您使用 no-trees 选项在共享服务器上创建存储库,然后将您的“主干”导入存储库。

然后你用 bzr branch bzr+ssh://mysharedserver/myrepo/trunk trunk_mirror 之类的东西拉下“trunk”的最新副本

这会给你一个主干的“镜像”副本。然后,您为新功能、错误修复等创建该镜像副本的分支,提交您想要的所有内容。

现在您要出城,Bob 需要您的代码。由于它已准备就绪,因此您将其合并到主干镜像中:

CD trunk_mirrorbzr 合并 ../my_really_cool_feature_branchbzr 提交“将我很酷的功能添加到主干”bzr推送

最后一步将您对镜像主干的更改推送到共享存储库,Bob 可以在共享存储库中执行“拉取”并获取主干的最新副本。

关于bazaar - 试图了解 BZR 存储库 II,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2392960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com