鉴于已经提交的更改已经使用commit
,然后还原使用revert
,那么撤消该恢复的最佳方法是什么?
理想情况下,这应该使用新的提交来完成,以便不重写历史记录.
我想撤消我的git pull因为远程源上的不需要的提交,但我不知道我必须重置为哪个版本.
在对远程原点进行git拉取之前,我怎样才能回到状态?
编码时我将print语句添加到某些文件中以跟踪发生的情况.
当我完成后,是否可以恢复某些文件中的更改,但提交我实际工作的文件?
说我在文件中添加了print A
,但是我修改了文件B
.B
是我想要提交的A
,我希望回到原来的状态.
如果从SVN工作副本中删除目录但尚未提交,则不清楚如何将其恢复.当您输入"svn undo d"时,Google甚至建议"在提交前将svn undo delete"作为常见查询,但搜索结果无益.
编辑:我想要一个适用于subversion 1.4.4的解决方案
这个答案说:
Vim的撤销/重做系统是无与伦比的.键入内容,撤消,键入其他内容,您仍然可以取回键入的第一个内容,因为Vim使用撤消树而不是堆栈.在几乎所有其他程序中,您输入的第一件事的历史在这种情况下都会丢失.
这是我第一次听到这个.我怎么能沿着树回溯呢?
前一段时间我这样做是为了忽略git跟踪的文件的变化:
git update-index --skip-worktree <file>
Run Code Online (Sandbox Code Playgroud)
现在我实际上想要提交对该文件的更改来源.如何撤消效果skip-worktree
?
谢谢,凯文
我正在为民用机器应用编写结构建模工具.我有一个代表整个建筑的巨大模型类,其中包括节点,线元素,载荷等的集合,它们也是自定义类.
我已经编写了一个撤消引擎,它在每次修改模型后都会保存一份深层拷贝.现在我开始考虑是否可以进行不同的编码.我可以使用相应的反向修改器保存每个修改器动作的列表,而不是保存深层副本.这样我就可以将反向修改器应用于要撤消的当前模型,或者将修改器应用于重做.
我可以想象你将如何执行更改对象属性等的简单命令.但复杂命令如何?就像将新节点对象插入模型并添加一些保持对新节点的引用的线对象一样.
如何实现这一目标?
我正在努力恢复我的工作.我愚蠢地做了git reset --hard
,但在那之前我只做过get add .
而且没做过git commit
.请帮忙!这是我的日志:
MacBookPro:api user$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
# modified: .gitignore
...
MacBookPro:api user$ git reset --hard
HEAD is now at ff546fa added new strucuture for api
Run Code Online (Sandbox Code Playgroud)
git reset --hard
在这种情况下可以撤消吗?
我偶然提交了一堆文件(不同文件夹中的几十个文件).什么是最简单,最干净(最安全!)的方法来"撤销"提交,而不必从我的工作目录中删除文件?