Eclipse 使用未提交的更改进行更新的Mercurial工作流?
因此,我已经为我的网站从CVS切换到mercurial 我遇到的最大问题是,如果我正在处理一些我不想提交的文件,我只保存它们。。然后,我还有其他文件要推送到服务器上,但是如果其他人对存储库进行了更改,我会将它们拉下来。。它要求我合并或重新设置基址。。这两个选项中的任何一个都会导致我丢失尚未提交的本地更改 我已经读到,我应该在本地主机上克隆每个项目的存储库,并在准备好的时候将其合并到live中。这不仅看起来很乏味,而且需要很长时间,因为它是一个大型存储库 有更好的解决方案吗 我希望Mercurial看到我没有提交我的更改(即使我已经更改了服务器上的文件),所以它只是忽略了文件 如果您对此有任何意见,我们将不胜感激。谢谢大家!Eclipse 使用未提交的更改进行更新的Mercurial工作流?,eclipse,mercurial,merge,push,Eclipse,Mercurial,Merge,Push,因此,我已经为我的网站从CVS切换到mercurial 我遇到的最大问题是,如果我正在处理一些我不想提交的文件,我只保存它们。。然后,我还有其他文件要推送到服务器上,但是如果其他人对存储库进行了更改,我会将它们拉下来。。它要求我合并或重新设置基址。。这两个选项中的任何一个都会导致我丢失尚未提交的本地更改 我已经读到,我应该在本地主机上克隆每个项目的存储库,并在准备好的时候将其合并到live中。这不仅看起来很乏味,而且需要很长时间,因为它是一个大型存储库 有更好的解决方案吗 我希望Mercuria
此外,我正在使用hg eclipse插件处理我的文件,并从服务器上推/拉。
hg shelve
我想是您的朋友
这来自于(可能-见下文)
从概述中可以看出:
搁置扩展提供了
shelve命令可供您选择
a中的哪些部分发生了变化
要设置的工作目录
暂时放在一边,在粒度上
一个大块头。您可以稍后恢复
使用
取消搁置命令
架子的扩展部分已经调整过了
来自Mercurial的RecordExtension
或者是因为
本模块涉及一组
文件夹.hg/attic中的补丁程序。在
任何时候你都可以搁置当前的
工作副本更改或取消搁置
文件夹中的修补程序
它似乎与shelve扩展有相同的语法,所以我不确定使用了哪一个I second@Sam的答案。但是,如果您更喜欢使用标准Mercurial,可以使用一个简单的工作流
$ hg diff > snapshot.patch # save your uncommited changes
$ hg up -C # get a clean working copy
$ hg pull # do things ..
$ hg merge # .. you need a clean ..
$ hg commit -m "merge" # .. working copy for
$ hg import snapshot.patch # get back your uncommited work
首先,你是从命令行工作,还是使用类似于乌龟的东西 如果您是从命令行工作的,并且您已经完成了拉式操作,mercurial不会要求您做任何事情,因为它只会更新您的本地存储库 如果您随后执行hg更新并进行了本地更改,那么它应该执行您习惯于从CVS执行的操作。它将更新到当前分支的顶端,并尝试合并中未完成的更改。这里有一些注意事项,所以请参考官方文件
另外,对于临时存储更改,我建议MQ优先于搁置。Shelve只提供一个存储区域,而MQ提供您所需的存储区域。MQ需要一些时间来适应,但值得投资。我实际上是在使用eclipse插件从我的存储库中推拉。我看到有一个名为MQUE的扩展,它允许我导入Qinit Qnew Qrefresh Qdelete,但我不确定它们都做了什么。MQ=Mqueue吗?Mqueue应该是相同的,因为所有这些命令名都是相同的。这似乎比在CVS中完成的要麻烦得多。我必须把它卖给从事我的项目的开发人员,我真的很想继续使用mercurial。是的,也许这不是告诉mercurial初学者的事情,但一旦你真正掌握了DVCS的原理,像这样的工作步骤似乎很自然,而不是繁琐——这至少是我个人的经验。无论如何,对于合并,您肯定必须放弃更改,因为合并本身是在工作副本中完成的,这允许您在提交之前检查并可能调整它。不管你怎么做,我都不会把零钱收回来,谢谢你的回复。现在,我们正在研究这两个问题。我知道,有没有在HGEclipse插件中使用这些扩展的经验?Shelve可以从Ortoisehg中使用。似乎找不到MercurialClipse支持的扩展名列表。如果右键单击Mercurial Eclipse中的文件夹/文件,可以转到Team>extensions>MQUE,但我不确定下面的所有命令是什么意思。这不是重复了您的问题吗?正如在重复问题的评论中已经提到的,您应该编辑问题,而不是发布新问题。请要求结束此问题或其他问题。可能的副本