我正在使用Mercurial Shelve extension来保留命令行的更改。它很好用,除非我想搁置的更改包含工作目录中的新添加文件(a)。基本上,除了新添加的文件外,它还可以上架。我通过查看.hg / shelve存储的更改来检查这一点。
如何搁置新添加的文件(状态)?
答案 0 :(得分:10)
此响应已过期,但您可以使用以下命令搁置所有文件(跟踪/未跟踪):
hg shelve -A
或
hg shelve --addremove
关于此命令,文档说:
在搁置之前添加/删除新/丢失文件
您必须注意使用此功能,因为在取消操作后,您的旧未跟踪文件会被跟踪。 如果在hg commit命令中未指定文件,则这些文件已在最后一次提交时提交。你应该使用hg忘记,如果你想再次解开它们。
答案 1 :(得分:8)
我假设您正在谈论当前未跟踪的文件?你需要添加第一个。
所以只需为您的新文件hg add
,然后hg shelve
也会搁置它们。
答案 2 :(得分:4)
http://margotskapacs.com/2012/10/shelving-uncommitted-changes-in-mercurial/
(参见“Bug - 添加文件无法搁置”一节)
答案 3 :(得分:1)
作为一个主要是Git的用户,我发现Atlassian SourceTree是处理我必须使用的奇怪的Mercurial仓库的最简单方法。它内置了搁架。价格合适(免费)。
免责声明:我为Atlassian工作
答案 4 :(得分:0)
如果命令行不是绝对必要的:
然后输入(在Linux上)
thg shelve
这使您可以轻松搁置已添加(但尚未提交)的文件。