Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 查看/撤消Hg提交?_Mercurial_Commit_Pull - Fatal编程技术网

Mercurial 查看/撤消Hg提交?

Mercurial 查看/撤消Hg提交?,mercurial,commit,pull,Mercurial,Commit,Pull,如何查看即将推送的提交 我在当地做了一个承诺。换换口味。不,它需要合并。 我不希望合并,希望撤消提交, 拉 更新更改, 然后再次提交 既然rollback只撤消最后一个命令pull,我该怎么做呢?这就是Mercurial的工作方式,你不应该以直线历史的名义反对它,但是有一些工具可以编辑历史。启用rebase扩展,拉取后只需运行hg rebase。在您描述的简单情况下,它会自动将您的本地提交移动到提示。这确实是Mercurial的工作方式,您不应该以直线历史的名义反对它,但是有一些工具可以编辑历

如何查看即将推送的提交

  • 我在当地做了一个承诺。换换口味。不,它需要合并。 我不希望合并,希望撤消提交, 拉 更新更改, 然后再次提交


  • 既然
    rollback
    只撤消最后一个命令pull,我该怎么做呢?

    这就是Mercurial的工作方式,你不应该以直线历史的名义反对它,但是有一些工具可以编辑历史。启用
    rebase
    扩展,拉取后只需运行
    hg rebase
    。在您描述的简单情况下,它会自动将您的本地提交移动到提示。

    这确实是Mercurial的工作方式,您不应该以直线历史的名义反对它,但是有一些工具可以编辑历史。启用
    rebase
    扩展,拉取后只需运行
    hg rebase
    。在您描述的简单情况下,它会自动将您的本地提交移动到tip

    • 如何查看即将推送的提交
    使用
    hg传出
    。这显示了
    hg push
    将发送到服务器的内容。相反的命令是
    hg incoming
    ,它显示了
    hg pull
    将检索到的内容

    • 我在当地做了一个承诺。换换口味。不,它需要合并。我不希望合并,希望撤消提交、拉取、更新更改,然后再次提交
    就像马克说的,你在找那个。使用

    [extensions]
    rebase =
    
    在配置文件中,然后运行

    $ hg pull
    $ hg rebase
    
    将您的本地工作(可以是多个变更集,而不仅仅是您的工作中的单个变更集!)移动到您刚才拉下来的变更集之上

    既然rollback只撤消最后一个命令pull,我该怎么做

    请不要将
    hg rollback
    用作一般撤消机制。这是一个低级命令,不应该像现在这样频繁使用,尤其是新用户。rollback命令从存储库中删除最后一个事务—Mercurial中的事务通常是您所做的最后一个更改集或您拉入存储库的最后一个更改集(复数)

    • 如何查看即将推送的提交
    使用
    hg传出
    。这显示了
    hg push
    将发送到服务器的内容。相反的命令是
    hg incoming
    ,它显示了
    hg pull
    将检索到的内容

    • 我在当地做了一个承诺。换换口味。不,它需要合并。我不希望合并,希望撤消提交、拉取、更新更改,然后再次提交
    就像马克说的,你在找那个。使用

    [extensions]
    rebase =
    
    在配置文件中,然后运行

    $ hg pull
    $ hg rebase
    
    将您的本地工作(可以是多个变更集,而不仅仅是您的工作中的单个变更集!)移动到您刚才拉下来的变更集之上

    既然rollback只撤消最后一个命令pull,我该怎么做


    请不要将
    hg rollback
    用作一般撤消机制。这是一个低级命令,不应该像现在这样频繁使用,尤其是新用户。rollback命令从存储库中删除最后一个事务-Mercurial中的事务通常是您所做的最后一个更改集或您拉入存储库的最后一个更改集(复数)。

    @pst,这不是真的
    hg rollback
    (一个非常危险的命令)撤消修改存储库的最后一个命令,可以是
    commit
    pull
    ,等等。@Ry4an谢谢。明白这一点。在我的场景中解释:)@pst,那不是真的
    hg rollback
    (一个非常危险的命令)撤消修改存储库的最后一个命令,可以是
    commit
    pull
    ,等等。@Ry4an谢谢。明白这一点。在我的场景中解释:)就在这里。看起来像辫子的DVCS是DVCS用户理解并接受其工具优点的标志。合并就是编码,跳过它就是篡改历史。我明白了……如果我没记错的话,git能够通过
    reset
    来“取消提交”,并将所有更改移回其修改状态。这允许拉取并避免了不必要的合并(在我看来,因为我的提交可能只是在拉取的更改之上)。使历史更清晰。更清晰,但不准确。合并仍在发生……它只是隐藏了。@resting:是的,通过这种方式可以获得更为直线的历史记录。rebase扩展允许您在Mercurial中获得相同的直线历史记录。在Git中也是如此:也不建议在每次
    Git拉取之前
    Git重置
    。相反,您可以
    git commit
    (尽可能多!),然后
    git rebase-i
    ,如果您愿意的话。嗯……好吧。我将熟悉这种重定基调的流程。谢谢:)就在这里。看起来像辫子的DVCS是DVCS用户理解并接受其工具优点的标志。合并就是编码,跳过它就是篡改历史。我明白了……如果我没记错的话,git能够通过
    reset
    来“取消提交”,并将所有更改移回其修改状态。这允许拉取并避免了不必要的合并(在我看来,因为我的提交可能只是在拉取的更改之上)。使历史更清晰。更清晰,但不准确。合并仍在发生……它只是隐藏了。@resting:是的,通过这种方式可以获得更为直线的历史记录。rebase扩展允许您在Mercurial中获得相同的直线历史记录。在Git中也是如此:也不建议在每次
    Git拉取之前
    Git重置
    。相反,您可以
    git commit
    (尽可能多!),然后
    git rebase-i
    ,如果您愿意的话。嗯……好吧。我会让自己熟悉的