问题标签 [revert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 颠覆:分支/标记后可以将主干重置为以前的版本吗?
我在主干中有很多相互依赖的项目。我做了几次提交,导致了依赖问题。
我将 /trunk 标记为 /tags/trunk-experimental,现在想“恢复”最后 N 次更改(这会导致问题),以便我的 /trunk 再次恢复正常。
这可以以直接的方式完成吗?
我试图从某个版本中签出,但这很糟糕,因为更新会将所有内容更改回最新版本(其中包含依赖问题)
这是更好地理解我的问题的时间表:
- 修订版 1000(好)
- 做了几处导致依赖性问题的更改,
几处提交,现在在修订版 1050(坏) - 将 /trunk 复制到 /tags/trunk-experimental(修订版 1051)
- 不知道如何处理主干以将其“还原”回修订版 1000
svn - 有没有办法从意外的“svn revert”中恢复?
今天早上,我通过执行以下操作成功地射中了自己的脚:
- 开始对我的项目进行更改
- 对一堆文件进行了一堆编辑
- 意识到我的方法全错了,我需要重新开始
- cd'd 到我项目的顶层并执行“svn --recursive revert”。将我的本地沙箱恢复到更改前的状态。
- 当我意识到我的本地沙盒中还有许多其他未完成的变化时,我惊恐地嚎叫着,而我刚刚将它们全部抹去。(上周五 svn 服务器宕机了,所以我没能签到,周末忘记了)
幸运的是,在这种情况下,我在周五下班前做了一个“svn diff > temp.txt”,而 temp.txt 文件仍在我的硬盘上,所以我能够将该文件输入“补丁”并恢复我的丢失的变化。
但是为了我将来的参考(即下次我犯同样的愚蠢错误)......有没有办法告诉svn撤消“svn revert”?svn 是否在任何地方保留本地/未签入差异的备份?
git - git:更好的 git revert 方法,无需额外的还原提交
我在远程+本地分支中有一个提交,我想将该提交从历史记录中删除,并将其中一些放入自己的分支中。
基本上,现在我有:
而且我要:
这应该在我的本地和(只有一个,称为源)远程存储库中。
哪种方法最干净?
此外,还有其他人克隆了该 repo 并签出了 master 分支。如果我要在远程仓库中进行这样的更改,'git pull' 是否可以让他们也达到相同的状态?
git - 似乎无法丢弃 Git 中的更改
从命令行看到以下内容后:
我试图通过键入以下命令来放弃我的更改:
但是当我重新运行 git status 时,它看起来完全一样。结帐似乎不起作用。难道我做错了什么?我在 windows/cygwin 上使用 GIT 1.6.1.2。
svn - 如何在svn中恢复具有特定扩展名的文件?
我想做这样的事情:
svn revert --recursive mydata/*/*.txt
我希望它恢复目录 mydata 中所有扩展名为 *.txt 的文件。有没有办法做到这一点?
file - 为什么 Subversion 会跳过包含 @ 符号的文件?
当我尝试执行这样的命令时(从命令行或 Perl 脚本 - 没关系):
SVN 跳过此文件并输出:
我试着做:
但它给出了相同的结果。
我可以从 GUI 恢复这些文件。我可以通过这样做来恢复这些文件(但它恢复的比我想要的多):
有解决方法吗?
git - git status 显示修改,git checkout --不删除它们
我想删除对我的工作副本的所有更改。
运行git status
显示文件已修改。
我所做的一切似乎都无法消除这些修改。
例如:
git - git reset --soft HEAD^ 后无法推送
刚才我提交并推动了一些我决定应该“恢复”或“撤消”的事情(是的,我在推动方面的错误)。所以我被告知要git reset --soft HEAD^
在我的最后发出,我认为这会以某种方式创建一个“还原”提交,一旦提交就会使它就像从未发生过变化一样。我不介意改变的历史是否存在,这正是我想象的会发生的事情。
无论如何,在完成之后我再次提交,然后当我尝试推动时,我得到了非快进错误。现在,我知道我在重置时搞砸了一些事情,我的树和起源树的某些东西现在“不匹配”,但我想知道如何解决这个问题。现在我只想回到我发出重置之前的时间,这样我就可以通过手动取出更改然后提交来手动恢复更改,除非其他人可以推荐恢复推送提交的正确方法,并且通过这并不是说历史必须从日志或任何东西中消失。
git - 如何将本地分支恢复到 github 中的状态?
我对本地存储库中的错误分支进行了一些开发。我做了 agit branch
而没有下一步做 a git checkout
。命令看起来像这样:
就在那时我意识到我在错误的分支上工作。我的 github 存储库处于正确状态,但我的本地存储库不是。我已将开发中的更改合并到 release-v0.2.0b 中,但我想将开发重置为我的 github 存储库中的方式。解决这个问题的最佳方法是什么?
svn - SVN 同步与更新到头部(子剪辑)
我对 Subversion 和 Subclipse 都很陌生,并且看到一些问题让我相信更新到 head 和同步之间存在差异。具体来说,我发现当我尝试还原(使用子剪辑历史)时,我经常收到一条消息,说“无法从路径自己的未来历史中反向合并范围,请先尝试更新”。我的同步应该确保我在 REPO 上的分支中拥有所有文件的“头”版本,但是执行“更新到头”确实可以解决问题……那有什么好处呢?我试图检查 SVN 控制台以查看发生了什么变化,但它不是很冗长。
想法?
我有第二个问题,但我假设第一个问题的答案会阐明这一点。如果你好奇并有时间阅读,我也会把它打出来。这是场景......我已经从“生产”标签中分支了我的所有文件,并开始处理我的项目。几次提交后,我检查了更改文件的历史记录,并注意到“粗体”版本(根据文档,这应该是头部)低于我的所有提交。就好像我拥有的不是头。但是 head 只是项目的最新版本,对吧?所以我错过了什么。
感谢您的回复并花时间阅读本文!