在 Fossil 中更新分支
Posted
技术标签:
【中文标题】在 Fossil 中更新分支【英文标题】:Updating branch in Fossil 【发布时间】:2018-12-02 14:10:28 【问题描述】:我正在开发一个项目,使用 Fossil 进行版本控制和组织。除了我的主干分支之外,我还有一些分支,并且只想更新(提交)一个分支。进行提交会将我在分支上的更改推送到主文件(我在 Chiselapp 上托管我的项目) .如何在不影响主文件的情况下只更新或提交一个分支?
【问题讨论】:
“主文件”到底是什么意思?trunk
分支中的文件,还是别的什么?
【参考方案1】:
Fossil 与 Git 不同,一次推送/拉出 所有 分支和标签*。原因(除了设计之外)是 Fossil 存储库是一个数据库,push/full 会在各自的方向上同步数据库。
这意味着如果您在多个分支上提交了更改,那么所有这些都将被推送到远程。
*除非更改是在 private 分支上完成的(请参阅 fossil help
了解 fossil commit --branch --private
、fossil branch new --private
)。
默认情况下,私有提交/分支被排除在推/拉之外。要同时包含这些,请使用 --private
选项(请参阅 fossil help
以获得 fossil push --private
)。
一旦更改被推送,它们就会集成到远程存储库中,并且可以在远程存储库的 web-GUI 中作为单独的提交或通过它们所属的分支进行查看。该视图包括 Files
部分,该部分反映了提交版本中的 repo 内容(快照)。
回答您的问题:如果您对现有的trunk
分支提交了更改,它们也将被推送到远程trunk
。如果您不想更改远程trunk
,请在新分支(作为新分支推送)或私有分支(默认不会推送)中进行更改。
【讨论】:
【参考方案2】:一次提交只会影响一个分支。除了可能在合并两个分支之后,但我假设你没有这样做。
我唯一能想到的就是你使用的皮肤有一个链接到dir?ci=tip
的“文件”菜单项。 tip
是最近提交的特殊名称。这意味着,如果您在与 trunk
不同的分支中提交,“文件”菜单项现在将向您显示其他分支的文件。
解决这个问题的临时方法是在trunk
中进行提交,以便tip
再次引用trunk
。但这并不理想。
永久解决此问题的最简单方法是选择不这样做的不同皮肤,或编辑皮肤的标题,并将指向dir?ci=tip
的链接替换为另一个链接,例如dir?ci=trunk
。这样,该菜单项将始终显示 trunk
分支中的文件。
【讨论】:
以上是关于在 Fossil 中更新分支的主要内容,如果未能解决你的问题,请参考以下文章
git远程分支创建,本地分支关联远程分支,第一次发布更新分支