- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在从 Mercurial 迁移到 Git 并将最新版本的 nopCommerce 与我的更改 merge 时遇到问题。
这是我做的。我很久以前就克隆了 nopCommerce mercurial 存储库(我认为是 2.60 版)。从那时起,我对该平台进行了许多更改,并将它们与更新版本的 nopCommerce merge 。我最后一次 merge 是在版本 3.10 上进行的。
现在我看到 nopCommerce 开始使用 Git,所以我将我的 mercurial 存储库转换为 Git(遵循本指南:http://arr.gr/blog/2011/10/bitbucket-converting-hg-repositories-to-git/)。但是现在,当我提取 nopCommerce 更改(最高版本 3.50)时,我得到以下信息:“警告:没有常见的提交”,并且所有提交都被下载(不仅仅是新的,从 3.10 到 3.50),虽然我我的存储库中已经有 3.10 版的提交。基本上,直到 3.10 版的 nopCommerce 提交都是重复的。我认为会发生这种情况,因为它们有不同的提交编号(当我将我的 mercurial 存储库转换为 Git 时,提交有不同的提交编号,而且我看到新的 nopCommerce Git 存储库也有与旧的 Mercurial 存储库不同的提交编号)。
问题是,当我将 nopCommerce v3.50 与我所做的更改 merge 并尝试解决冲突时,BASE 文件是空的,因为 Git 看不到它们有共同的祖先。 LOCAL 文件将我的存储库中的提交作为祖先,而 REMOTE 文件将新 Git 存储库中的提交作为祖先。
你知道如何解决这个问题吗?
最佳答案
您可能猜对了问题的根源。 Git 看到两个完全独立的历史记录,不知道如何处理它们。您可以使用 git replace
解决此问题:
git replace **sha-in-your-history** **sha-in-theirs**
查看新的 git log
并查看结果是否符合您的喜好。如果是,您可以通过运行以下命令使更改永久生效:
git filter-branch --tag-name-filter cat -- --all
git replace -d **sha-in-your-history**
之后,您可能想要克隆存储库并删除之前的副本,以实际从磁盘中删除“您的”历史副本。
关于git - 从 Mercurial 迁移到 Git 并与自定义更改 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27413733/
如果你做一个 hg pull然后是 hg update (或 hg merge ),有没有办法解决这个问题?即:将您的存储库恢复到执行 hg pull 之前的状态? 我相信你可以做到hg update
我有一台带有 ssh 的服务器,我想将其用作中央存储库。但是我不能在上面安装 mercurial。因此,客户端如何在服务器上没有安装 mercurial 的情况下通过 ssh 推送到服务器。 谢谢 最
我们有一个专门的问题跟踪 (Redmine) 机器,它有一个 Mercurial 存储库(称为“Redmine 存储库”)。 Redmine 设置为使用该存储库,据我了解,Redmine 从未对该存储
一个 hg 存储库可以存在于我的本地文件系统上的另一个 hg 存储库中吗? 我正在拉取“sandbox”的 bitbucket wiki,我想知道是否应该将其放置在 repos/sandbox/wik
我有一个项目,我使用 Bitbucket 作为我的 HG 服务器,但我最近发现,作为一个单独的开发人员,我可以免费使用 Fogbugz/Kiln。我想将我的文件移至 Kiln,但我不想丢失我的历史记录
Mercurial 如何判断文件已被修改? 我问的原因是因为当我运行时 hg status它告诉我有几个文件被修改了。 但是,当我运行 hg diff 时没有变化要报告。 我有一个关于为什么会发生这种
我需要获取本地存储库中文件的特定版本/节点的内容,并将其写入临时文件。 我知道可以通过内部Mercurial API进行操作。 有内置命令或扩展名吗? 最佳答案 您可以使用 hg cat : hg c
这两个命令有什么区别(我想回滚到修订版 1): hg update -r 1 hg backout -r 1 --merge (在示例中提示修订为 3) 最佳答案 首先, update -r 1 将撤
我看到 mercurial 有效地压缩了存储库中的文件 (repo/.hg/store/data) 有人知道存储库文件使用哪种压缩吗? 谢谢。 最佳答案 Mercurial 存储库中有两个压缩级别:增
如果 Mercurial does not track file permissions默认情况下,它如何决定它创建的任何文件/目录的权限? 是否使用umask ?如果不是,它有什么用? 我有 rea
我已经阅读了很多关于 Mercurial 及其分支的信息,但是,我仍然是一个版本控制新手。 我目前正在做一个项目,我的任务是开发一个新模块。 我有一个“主”存储库,其中包含项目其余部分的最新代码,以及
尝试运行 hg update 时出现以下错误: abort: Operation not permitted: /var/www/simira/web/public/images/nomination
mercurial 如何处理拆分的文件?如果我创建一个分支并拆分一个文件会发生什么。我可以轻松地从修改原始未拆分文件的另一个分支中提取更改吗? 最佳答案 我只是做了一个小实验。我用一个大文件创建了一个
我想使用hg graft将变更集从一个分支复制到另一个分支。 但是,在变更集中修改的文件已在源分支中重命名(使用hg rename)-在要移植的变更集之前。 当我尝试时,我得到: scanning f
Annotate可以使您看到该行的最新更改,如果该更改是合并,那么我别无选择,只能浏览修订历史记录并查找下一次对其进行修改的情况。 我也尝试过hg grep -l '[contents of line
我有一个小项目,我从集市开始,作为练习bzr的练习。从那以后,我决定选择 Mercurial 。我如何将这个项目迁移到Hg? 最佳答案 我相信您的答案可以在here中找到。 本质上,您只需要运行 $
什么决定分支是否处于非事件状态?是否有客户使用的特定时间段? 我们有很多不活跃的分支。值得我们花时间关闭它们吗? 该文档似乎没有指定如何确定非事件分支: https://www.mercurial-s
假设我创建了一个存储库,添加 x 文件并提交。说大小是 初始提交后的 Mb。 有什么方法可以估计存储库在一年内会有多大? 如果代码行数增加了 10%,存储库会相应增长吗? 提交、分支、标签等的数量如何
我正在使用 Mercurial(特别是 Windows 上的 TortoiseHg)对 VBA 代码进行版本控制。任何尝试过这个的人都知道,只要在项目中的任何地方更改了该变量的任何声明(无论范围如何)
不幸的是,我已经清理了我的 Mercurial 货架,忘记了我需要进行一些更改。我有定期的文件系统备份,但不知道 Mercurial 在哪里存储搁置文件。有人可以告诉我在哪里看吗? Mercurial
我是一名优秀的程序员,十分优秀!