如何在提交时创建新头?

时间:2011-08-26 14:00:41

标签: mercurial

我正在研究我的论文并将变化存储在mercurial中。我没有得到一个错误,我有多个头,我很困惑 - 我只有一个工作的存储库,我偶尔推到bitbucket。这是发生的事情:

$ hg commit -m "Fixing up..."
abort: No such file or directory: /Users/me/Dropbox/thesis/thesis_tex/simple.pdf
$ hg commit -m "Adding in page headers"
created new head

......还有一次提交,没有意识到创建一个新头是一个问题......

$ hg push
pushing to ssh://hg@bitbucket.org/...
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)

$ hg heads
changeset:   26:3823a395b1ce
tag:         tip
user:        me
date:        Fri Aug 26 09:39:45 2011 -0400
summary:     Adding...

changeset:   24:c7c6517d4281
user:        me
date:        Thu Aug 25 16:34:42 2011 -0400
summary:     Fixing up...

如何在不弄乱我的工作目录的情况下轻松摆脱另一个头?为什么要创建第二个头?在dropbox文件夹中保留mercurial存储库是否有问题?

2 个答案:

答案 0 :(得分:7)

  

如何在不弄乱我的工作目录的情况下轻松摆脱另一个头?

将分支与hg merge合并。

  

在dropbox文件夹中保留mercurial存储库是否有问题?

这对我来说似乎是多余的,因为Dropbox会在您的文件上保留30天的历史记录。我会选择Hg + Bitbucket(或任何Mercurial托管) Dropbox,但不能同时选择两者。


编辑: 为什么不使用Mercurial Dropbox? Here's why.

Ben Hughes said it well

  

通过将您的Mercurial仓库保留在Dropbox上,您可以控制版本控制系统文件。如果你以某种方式设法导致与.hg目录中的文件冲突,事情可能会变得混乱。可恢复但很乱。

答案 1 :(得分:3)

我不同意@Matt Ball关于Dropbox问题。

我认为裁员是你的朋友。在你的情况下,Hg和Dropbox的目的也略有不同。

Dropbox会自动为您备份(以及跟踪文件更改并让您在任何具有互联网的计算机上工作并轻松共享您的工作。)并且Hg允许您脱机工作并以逻辑块的形式提交(以及在同步时作为备份工作)。

我在我的Dropbox文件夹中使用Hg至少一年没有问题,我没有遇到任何问题。

如果你在多台机器上工作并且在所有机器上都有dropbox / Hg组合,我建议你让dropbox进行同步。