问答

版本控制 – 使用未提交的更改从“hg update”恢复

 来源    2019-02-26    1  

我一直在使用Mercurial遇到以下问题,这非常烦人:

>我正在进行一些修订A.
>我有本地更改,我打算在A之上提交或修改,但还没有.
>我想去修订版B,但我忘了我有本地修改!
>我做了hg更新B. Mercurial“帮助”尝试将我的本地更改重新设置为在B之上应用.这通常会导致冲突,现在它要求我修复冲突.

但是,我不想修复冲突!我不希望我的本地更改完全适用于B之上.我希望他们留在A,或者作为A之后的新提交,或者根据具体情况修改为A.

有没有办法可以从这个州恢复?我知道的唯一方法是

>修复B处的合并冲突
>回到A,再次发生合并冲突
>再次在A处修复合并冲突
>在A处提交我的更改并返回到B.

这是很多工作,而且毫无意义.我不应该将我的本地更改重新设置为在B之上应用,只是再次将它们重新绑定以应用于A之上.

如果没有更好的方法可以从这个错误中恢复,那么当你有本地更改时,是否有办法让hg拒绝进行更新?我从来不想这样做 – 如果我想要我只是提交本地更改并在B之上重新定义它们.

在更新某个地方并返回后获取脏文件有点棘手. “技巧”是确保您的工作副本在第一次更新后具有脏文件.

所以你做完之后

hg update $SOMEWHERE

并发现混乱,因为Mercurial开始打开合并工具,平静地关闭合并工具,然后运行

hg resolve --unmark --all
hg resolve --all --tool internal:local

由于您对其进行了更改而合并的所有文件现在看起来就像它们在脏工作副本中所做的那样.这包括干净地合并的文件和提示您合并的文件.现在可以更新回来:

hg update $BACK
hg resolve --unmark --all
hg resolve --all --tool internal:local

你现在应该回到你开始的地方.如果您在第一次更新后修改了文件,那么它是您在第二次解析后看到的修改后的版本.这就是您希望在第一次更新后解析文件的原因.

git – 如何还原未提交的更改,包括文件和文件夹?
问答是否有一个git命令来还原工作树和索引中的所有未提交的更改,并删除新创建的文件和文件夹?::您可以运行这两个命令: # Revert changes to modified files. git re ...
1
使用git,如何将一些未提交的更改从一个分支移动到另一个文件夹中的另一个分支?
问答我有两个不同的软件分支,我每天都在工作.但是,每次我结帐另一个分支,我的构建过程可能需要一个小时.为了解决这个问题,我刚刚在两个单独的文件夹中检查了每个分支的项目. 我在一个分支中做了一些工作,在提交 ...
在git repo的tar / untar之后,gitk显示“本地未提交的更改,未签入到索引”
问答我有一个包含小git存储库的目录. git status和gitk –all,不显示任何未提交的更改. 如果我使用以下命令来tar /压缩此目录: tar czf git-repo.tar.gz gi ...
1
使用SVN将未提交的更改合并到其他分支中
问答我已将/ trunk / project_a复制到/ branches / project_a / test_1.但是,我还没有提交新创建的分支.然后我在工作副本中做了一些更改,我原本打算用新创建的分 ...
如何将我的本地未提交的更改合并到另一个Git分支?
问答我如何在git中这样做: 我当前的分支是branch1,我做了一些本地更改.然而,我现在意识到,我实际上是要应用这些更改branch2.有没有办法应用/合并这些更改,以便他们成为branch2上的本地 ...
2
osx – 如何丢弃SourceTree中未提交的更改?
问答我是新的Git环境,我在Mac上使用BitBucket与SourceTree.我现在想做的是丢弃自上次提交以来的更改.我应该怎么做?我没有发现像"丢弃更改",直接从最后一次提交似乎 ...
1
使用Mercurial队列将未提交的更改添加到新的修补程序中
问答在Mercurial中创建补丁的过程如下: 使用qnew创建补丁 – >进行更改 – >刷新补丁 如果我已经进行了(uncommited)更改并且我想将它们添加到队列中该怎么办?::这取决 ...
1
git – 如何以编程方式确定是否存在未提交的更改?
问答在Makefile中,如果存在未提交的更改(在工作树或索引中),我想执行某些操作.什么是最干净,最有效的方法?退出的命令在一种情况下返回值为零,在另一种情况下返回非零符合我的目的. 我可以运行git ...
1
在Master上将未提交的更改放到Git的新分支
问答当我在分支主管时,如何将未提交的更改放入分支TEST?::你可以只检出到测试分支,然后提交.移动到另一个分支时,您不会丢失不受欢迎的更改. 假设你在主分支: git checkout test git ...
对于未提交的更改,canDeactivate Guard服务中的Angular使用模式对话框(表单脏)
问答在我的Angular 4应用程序中,我有一些带有表单的组件,如下所示: export class MyComponent implements OnInit, FormComponent { form ...
1
Git恢复未提交的更改
问答我有很多地方的变化. 我只是不小心做了 git merge another_branch git reset --hard HEAD^ 在很多工作上. :(意图我不想在这里合并的变化. 如何恢复原始状 ...
1
Git:如何恢复已保存的未提交的更改
问答我在我的开发分支中有一些未提交的更改,我使用git stash隐藏了它们,但是有些更改在那些隐藏的代码中非常重要.有什么办法可以得到这些变化吗? 此外,我已经做了一些修改之前的隐藏代码文件. 有没有机 ...
1
windows – 如何获取工作目录哈希确认所有未提交的更改?
问答我的软件构建过程的一部分包括将工作目录parent的哈希值转换为C字符串以包含在"version"输出中.这是通过使用hg identify -i来获取全局修订版ID,并将此输出复 ...
1
git – SourceTree应用程序说未提交的更改,甚至对于新克隆的存储库 – 什么可能是错误?
问答一个远程git仓库只是使用Atlassian SourceTree克隆到本地框.即使没有文件真正地在工作树中被修改,Atlassian在"未提交的更改"下立即列出一堆文件.每个文件 ...
1
Git – 当当前分支上有未提交的更改时检出另一个分支
问答大多数时候,当我尝试检出另一个现有的分支,git不允许我,如果我有一些未提交的更改当前分支.所以我必须首先提交或保存这些更改.但是,偶尔git允许我签出另一个分支,而不提交或保存这些更改,它会把这些更 ...
1
如何列出仅在git中当前分支中进行的所有未提交的更改
问答我是git的新手,最初我曾经只在主分支上工作然后我读了一些关于git分支的东西,我很惊讶它的力量所以我开始在我的工作流程中使用分支 当我开始分支我的主分支是干净的没有提交. 然后我创建了新的分支fea ...
TFS/GIT在VS无法切换到主控,因为有未提交的更改
问答我在visualstudio.com上为VS 2013解决方案设置了一个GIT存储库.当我变得习惯于使用TFS(在GIT模式下)时,存储库工作得很好. 然后我决定熟悉分支,所以我创建了一个分支,从主人 ...
1
c# – 如何在绑定到SqlDataAdapter时确定DataGridView是否包含未提交的更改
问答我有一个包含DataGridView,BindingSource,DataTable和SqlDataAdapter的表单.我填充网格和数据绑定如下: private BindingSource bin ...
1
eclipse – 使用未提交的更改进行更新的Mercurial工作流程?
问答所以我已经从CVS切换到我网站的mercurial. 我遇到的最大问题是,如果我正在处理一些我不想提交的文件,我只是保存它们.然后我有其他文件要推送到服务器,但是如果有其他人做了对存储库进行了更改,我 ...
1