gpt4 book ai didi

Mercurial:获取新副本

转载 作者:行者123 更新时间:2023-12-04 11:59:59 25 4
gpt4 key购买 nike

我有一个本地存储库,我想从远程存储库获取最新更改。我知道我可以克隆,但克隆只适用于新目录。我知道我可以删除本地存储库然后克隆,但我想知道如果有的话,我想知道如何以 Mercurial 方式进行操作。

编辑:如果有冲突, hg pull -u 不起作用。我不想解决冲突我只想获得远程仓库的新副本,而不管本地更改如何。

回答:简短回答:也许可以做到(请参阅下面的答案),但重新克隆更容易。

长答案:如果您想从远程获取最新信息并忽略本地更改和提交,那么您必须克隆到新的本地存储库或删除本地存储库并克隆另一个。这是因为如果您有冲突的更改,那么 hg 将强制您手动解决它们。

没关系,但我只是想知道是否可以在不删除本地存储库的情况下完成。

最佳答案

我认为你只是在寻找这个:

hg pull
hg up --clean

这将从远程存储库中提取最新的修订集,然后使用干净的副本更新本地存储库,无论您是否对文件进行了任何更改。无需 merge 。

唯一需要注意的是,如果您已将文件添加到本地存储库,但尚未提交,则更新后它们将成为孤立的(留在原地,但不在存储库中)。如果你做 hg stat你应该看到它们用问号表示。如果添加的文件已提交到您的本地存储库,Mercurial 将在它们之后正确清理。

这是远程存储库(远程版本 6):
Mode                LastWriteTime     Length Name
---- ------------- ------ ----
d---- 3/24/2011 2:16 PM .hg
-a--- 3/24/2011 2:16 PM 83 addedtoremote.txt
-a--- 3/24/2011 1:56 PM 726 sample.txt

这是带有更改和添加的文件(本地 rev 5)的本地存储库(从之前的远程版本 4 克隆):
Mode                LastWriteTime     Length Name
---- ------------- ------ ----
d---- 3/24/2011 2:03 PM .hg
-a--- 3/24/2011 2:05 PM 9 sample.txt
-a--- 3/24/2011 2:05 PM 58 addedtolocal.txt

这是执行拉取和清理更新后的本地存储库(本地版本 6):
Mode                LastWriteTime     Length Name
---- ------------- ------ ----
d---- 3/24/2011 2:17 PM .hg
-a--- 3/24/2011 2:17 PM 83 addedtoremote.txt
-a--- 3/24/2011 2:15 PM 726 sample.txt

sample.txt 的更改已被消灭, addedtolocal.txt已被删除和 addedtoremote.txt已添加。

关于Mercurial:获取新副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406399/

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