我有一个跟踪数据文件,我想用更新的(当前未跟踪的)版本覆盖
如果不弄乱历史,你如何在mercurial中实现这一目标?
我可以只覆盖原始文件,只要文件名保持不变,一切都应该没问题吗?
答案 0 :(得分:2)
覆盖工作正常。唯一的问题是mercurial认为您已对现有文件进行了更改。
如果新文件与原始文件实际上无关,那么最好的方法是完全删除该文件(hg rm filename)并提交删除,然后创建具有相同名称的文件并将其添加到repo(hg)添加文件名),以便向用户清楚原始文件已被删除,然后创建了一个新文件。
hg rm filename
hg commit -m "Removed filename"
echo "New file contents" > filename
hg add filename
hg commit -m "New version of filename"
当你说
时hg log filename
无论如何都保留了文件的整个历史记录,并清楚地向用户说明旧文件已删除并添加了新文件。