- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试将位于 HEAD 的提交压缩为后面的提交。当我运行 git rebase -i HEAD~7
, 然而,我只看到一个 noop
在编辑器中!我对这应该如何工作完全感到困惑。
我在我创建的分支 ( cleanup
) 中工作(在我在 checkout -b cleanup ...
中找到的 SHA1 上使用 reflog
)在我拥有第一个 rebase
之后经验,我不小心删除了所有这些提交;重点是,我不确定分支的父级是什么(如果重要的话,在这里)。
我只是想做我多次阅读的内容:我想稍微修改一些不是最近提交的提交代码。我不知道这是申请“压缩”还是只是修改,我不知道。
当编辑器在运行上面显示的 rebase 命令后启动时,我也在 STDOUT 上看到了这一点:
$ git rebase -i HEAD~7
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
...
除了HEAD~7
引用,我已经尝试指定整个 SHA1,以及本地和远程分支的不同 refspecs。一切都得到相同的结果...
我错过了什么?感谢您的帮助!
$ git log --oneline HEAD~7..HEAD
d0fd20e temp Fix resume_cities table
ea2ffdf Fix db/seeds.rb to reflect recent database structure modifications
dbd2b8b Add several models/scaffolds that go along with the Geonames tables
9759091 Fix name of the ResumeSkill model file.
3fc3134 Added the SHA1 for the previous commit to the comments on the migration, to help link back to that.
bacbeb2 Consolidate database migrations! READ ME!
0c49a57 Moved back to gem versions of linkedin, omniauth, and twitter
这是bacbeb2
commit 我想修改 d0fd20e
根据@MarkLongair 的推荐,我添加了 set -x
至 /usr/lib/git-core/git-rebase--interactive
并看到以下奇怪的输出:
$ git rebase -i HEAD~7
[... output muted for brevity, see the full output, here: http://gist.github.com/1163118]
+ read -r shortsha1 rest
+ sed -n s/^>//p
+ git rev-list --no-merges --cherry-pick --pretty=oneline --abbrev-commit --abbrev=7 --reverse --left-right --topo-order 2c51946812a198ca908ebcad2308e4b8274624b3...d0e9ff6d9c1f8bc374856ca2a84ad52d6013b5bf
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
--max-age=<epoch>
--min-age=<epoch>
--sparse
--no-merges
--remove-empty
--all
--branches
--tags
--remotes
--stdin
--quiet
ordering output:
--topo-order
--date-order
--reverse
formatting output:
--parents
--children
--objects | --objects-edge
--unpacked
--header | --pretty
--abbrev=<n> | --no-abbrev
--abbrev-commit
--left-right
special purpose:
--bisect
--bisect-vars
--bisect-all
+ test t =
+ test -s /home/ryan/Projects/social-jobs/.git/rebase-merge/git-rebase-todo
+ echo noop
[...]
我说“奇怪的输出”是因为如果我运行 rev-list
直接从我的 shell 命令,它按预期工作:
$ git rev-list --no-merges --cherry-pick --pretty=oneline --abbrev-commit --abbrev=7 --reverse --left-right --topo-order 2c51946812a198ca908ebcad2308e4b8274624b3...d0e9ff6d9c1f8bc374856ca2a84ad52d6013b5bf
>0c49a57 Moved back to gem versions of linkedin, omniauth, and twitter
>bacbeb2 Consolidate database migrations! READ ME!
>3fc3134 Added the SHA1 for the previous commit to the comments on the migration, to help link back to that.
>9759091 Fix name of the ResumeSkill model file.
>dbd2b8b Add several models/scaffolds that go along with the Geonames tables
>ea2ffdf Fix db/seeds.rb to reflect recent database structure modifications
>d0e9ff6 !temp Fix resume_cities table !temp
最佳答案
更新:在我的回答末尾有对此行为的解释,但我已将调试建议留在这里以防它们对任何人有用。
我不确定这里是否有真正的答案,但我会尽我所能解释发生的事情。当调用为 git rebase -i HEAD~7
, git 应该只输出 noop
至 .git/rebase-merge/git-rebase-todo
如果该文件为空或不存在。我们知道这不是权限问题,因为结果是成功创建了该文件(包含“noop”和注释行)。事实上,您看到来自 git rev-list
的错误在终端上也提示问题确实是由于git rev-list
引起的被调用。在 git v1.7.4.1 中,使用您引用的命令行,应从以下位置找到要包含的提交列表:
git rev-list --no-merges --cherry-pick --pretty=oneline --abbrev-commit \
--abbrev=7 --reverse --left-right --topo-order HEAD~7...HEAD
请注意,这与手册页 (git log <upstream>..HEAD
) 的建议有所不同,因为该范围使用 ...
而不是 ..
我猜,因为您看到来自 git rev-list
的错误,这是有问题的命令。你能试一下,看看输出是什么吗?如果这似乎有效,那么我怀疑有一个较早的错误导致此命令行格式错误。由于交互式 rebase 是作为 shell 脚本实现的,您可以通过使用 sudo editor /usr/lib/git-core/git-rebase--interactive
编辑脚本来相当容易地调查这一点。并添加 set -x
在顶部,类似于:
#!/bin/sh
set -x
#
# Copyright (c) 2006 Johannes E. Schindelin
# SHORT DESCRIPTION
[...]
然后,如果您尝试运行 git rebase -i HEAD~7
,您应该看到脚本正在运行的每个命令,并且可能会看到 git rev-list
有什么问题。调用。
希望对您有所帮助。
更新:它 turns out that这里的问题是提问者有IFS
设置为仅包含制表符和换行符,而不是默认的空格、制表符和换行符。
这会导致 git-rebase--interactive
中的行出现问题开始:
git rev-list $MERGES_OPTION --pretty=oneline [...]
... 自 MERGES_OPTION
设置为 --no-merges --cherry-pick
.默认值为 IFS
(其中包括空格)这将在变量被替换后拆分为两个参数。但是,使用 IFS
不包括空格,--no-merges --cherry-pick
将被解释为单个,显然是未知的参数,导致 git rev-list
用法消息和空输出在脚本中传递。
一个很好的谜题:)
关于git rebase -i HEAD~7 -- 在编辑器中只显示 "noop",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137985/
我想像 wordpress 的 css 管理器一样为我的网站制作 css 管理器。我想在 textarea 中打开 css 文件,这样我就可以编辑它,而不是在按下提交按钮后,应该保存 css 文件中的
我不知道这是一个有效的问题。我见过大多数插件和对话框定义的 CKEditor 示例都使用变量“editor”。我想知道它是什么以及它的值来自哪里。 例如 CKEDITOR.plugins.add( '
如果你希望极认真地学习和使用 XML,那么一定想要找一款称手的 XML 编辑器 XML 是基于文本的 XML是基于文本的标记语言 XML可被类似记事本这样的简单的文本编辑器来创建和编辑 不过在
有没有人成功地将 Summernote 编辑器与 Meteor 一起使用? 见 http://hackerwins.github.io/summernote/ 我在我的模板中包含了以下 div:
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
如何使文本默认从右向左对齐(p:editor)。 当前使用 primefaces 3.0.M2-SNAPSHOT。现在无法更新到新版本吗? 这是阿拉伯语版本应用程序所必需的。 谢谢 最佳答案 在 we
如何启动或安装 Eclipse XSD 编辑器? 根据this看来它应该开箱即用。我创建了 XMLExamples 项目,当我打开 Catalogue.xsd 时,Eclipse 将其视为文本文件。如
我爱wysihtml5但我找不到任何关于向元素添加类这样简单的文档。 基本上我正在寻找的是一种允许 blockquote 元素有 2 种不同变体的方法: blockquote.pull-leftblo
我真的很想要一个在 Django 中实现文本编辑器的清晰直接的示例,就像提议的 pagedown 或 markdownx 一样。我无法在 Django 2.0 中使用这些解决方案中的任何一个,并且我找
是否有支持 REPL 和大括号匹配的 ClojureCLR 编辑器?我找到了一个将对 ClojureCLR 的支持添加到 Visual Studio 的项目:vsClojure ,但无法构建它。还有其
GWT 的编辑器框架非常好用,它不仅可以用于编辑POJO,还可以用于只读显示。 但是,我并不完全确定进行内联编辑的最佳做法是什么。 假设我有一个 PersonProxy 并且我有一对 Presente
我对 primefaces 编辑器的第一个问题是它不接受来自 Chrome 和资源管理器中的 MS word 文档的文本,但在 Firefox 中工作正常。有没有办法让它直接接受来自 MS word
我使用 Prototype JS 作为主要 JS 库,并且我已将最后一个 RedactorJS 与 jQuery 以无冲突模式集成,但我无法启动如下功能: jQuery('#redactor').re
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
我正在 Laravel 项目上使用 redactor 作为文本编辑器。 每当编辑器位于页面上并初始化时,每当我单击任意位置时都会收到此错误。 Uncaught TypeError: $(...).cl
我在带有 jQuery .show("slide") 动画的界面设计中使用tinyMCE 时遇到问题。由于表单的复杂性,它像向导一样被分为多个页面,但它不使用下一步和后退按钮。相反,它使用部分名称
如何制作像 wufoo.com 表单编辑器中那样的拖放式编辑器 最佳答案 通常客户端应用程序是使用某种客户端框架构建的。比较流行的是(排名不分先后): GWT YUI jQuery 首先检查这些内容,
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
有人建议我使用具有语法错误检查和调试功能的 Javascript 编辑器吗? Eclipse IDE 有可用的插件吗?或者您可以建议最适合错误检查和调试的任何编辑器。 提前致谢。 最佳答案 您可以安装
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我是一名优秀的程序员,十分优秀!