在化石中更新分支

时间:2018-06-23 07:46:03

标签: branch commit fossil

我正在研究一个项目,使用Fossil进行版本控制和组织。除了主干分支外,我还有一些分支,并且只想更新(提交)一个分支。进行提交会将我的更改推送到主文件的一个分支上(我在Chiselapp上托管我的项目) 。如何在不影响主文件的情况下仅更新或提交单个分支?

2 个答案:

答案 0 :(得分:1)

提交只会影响单个分支。除了也许合并两个分支之后,但我假设您还没有这样做。

我唯一想到的是您使用的皮肤具有一个链接到dir?ci=tip的“文件”菜单项。 tip是最近一次提交的特殊名称。这意味着,如果您在与trunk不同的分支中进行提交,则“文件”菜单项现在将向您显示该另一个分支的文件。

一种修正的临时方法是在之后的trunk中进行提交,以便tip再次引用trunk。但这并不理想。

永久修复此问题的最简单方法是,选择一个不执行此操作的皮肤,或编辑皮肤的标题,然后用另一个链接dir?ci=tip替换到dir?ci=trunk的链接例如。这样,该菜单项将始终显示trunk分支中的文件。

答案 1 :(得分:0)

化石不同于Git一次推/拉所有分支和标签*。原因(除设计外)是Fossil信息库是一个数据库,在各个方向上推送/完全同步数据库。

这意味着,如果您在多个分支上提交了更改,则所有这些分支都将被推送到远程。

*除非要更改,更改是在私有分支上完成的(请参见fossil help中的fossil commit --branch --privatefossil branch new --private)。

默认情况下,私人提交/分支不包括在推/拉中。要同时包含这些内容,请使用--private选项(对于fossil help,请参见fossil push --private)。

更改被推送后,它们将集成到远程仓库中,并且可以作为单独的提交或通过它们所属的分支在远程仓库的Web GUI中查看。该视图包括Files部分,该部分反映了提交版本的回购内容(快照)。

要回答您的问题:如果您对现有的trunk分支进行了更改,则它们也将被推送到远程trunk。如果您不想对远程trunk进行更改,则可以在新分支(作为新分支推送)或私有分支(默认情况下不推送)中进行更改。 / p>