【问题标题】:Is it possible to create a branch when having uncommitted changes?有未提交的更改时是否可以创建分支?
【发布时间】:2013-12-21 03:55:09
【问题描述】:

在 Mercurial 回购中:

1) 我已从default 签出(更新)

2) 我编辑了一些东西

3) 我意识到我需要一个分支来试验我的编辑

4) 当我尝试创建一个分支 Mercurial 声明我有未提交的更改

如果我没记错的话,git 允许你在这种情况下checkout -b。我需要创建一个分支并在那里提交我的更改。

更新

事实证明 hg 和 git 一样聪明,并且允许在有未提交的更改时创建分支。因此,第 4 步的问题与 hg 无关。

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    这对我来说很好用:

    ry4an@four:~$ hg init dan
    ry4an@four:~$ cd dan
    ry4an@four:~/dan$ echo text > afile
    ry4an@four:~/dan$ hg commit -Am added
    adding afile
    ry4an@four:~/dan$ echo more >> afile
    ry4an@four:~/dan$ hg branch newbranch
    marked working directory as branch newbranch
    (branches are permanent and global, did you want a bookmark?)
    ry4an@four:~/dan$ hg commit -m another
    ry4an@four:~/dan$ hg log
    changeset:   1:84b54b473852
    branch:      newbranch
    tag:         tip
    user:        Ry4an Brase <ry4an-hg@ry4an.org>
    date:        Wed Dec 04 11:36:52 2013 -0500
    summary:     another
    
    changeset:   0:b07d96580927
    user:        Ry4an Brase <ry4an-hg@ry4an.org>
    date:        Wed Dec 04 11:36:13 2013 -0500
    summary:     added
    

    当我运行hg branch newbranch 时,实际上没有创建任何内容。 hg branch 命令只是告诉 Mercurial next 提交应该在哪个分支上,实际上,当我执行该提交时,日志显示它在 newbranch 上。我在执行hg branch 行时有未提交的更改,并且没有警告或错误提示我无法执行此操作 - 具体来说,您是如何尝试创建该分支的?

    【讨论】:

    • 你的例子对我有用。我有一种感觉,原因是附加到 mercurial 的预提交钩子。需要仔细检查才能确定,明天会这样做
    • 酷一个 precommit 钩子不会在 'hg branch ..' 命令上运行(它没有提交任何东西),但它肯定会停止后续提交。
    • 是的,那是钩子
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多