git commit -a / nano

时间:2011-01-04 13:23:40

标签: ruby-on-rails git commit

出于某种原因,当我尝试运行git commit -a时,我没有收到nano底部的常用控件,无法保存我编辑的提交消息。输出是这样的:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   app/controllers/photos_controller.rb
#       deleted:    app/views/comments/edit.js.erb
#       deleted:    app/views/facets/_old_menu.html.haml
#       modified:   app/views/photos/uploaded_photo.html.haml
#       deleted:    config/initializers/delayed_job_config.rb
#       deleted:    public/images/blue_panel_column.png
#       deleted:    public/images/embed/add_feature_button.png                                                                                       
~                                                                                           
~                                                                                           
~                                                                                           
~                                                                                           
".git/COMMIT_EDITMSG" 39L, 1947C

我一直都在寻找这个。我必须手动删除.git / index.lock,如果这可以解释它。提前感谢任何建议。

2 个答案:

答案 0 :(得分:2)

你好几个想法

  1. 你确定你是纳米吗?有 你试过vi style命令来看 如果git已恢复使用 VI? [Esc:x]
  2. 如果您的提交消息很小且很简单,就像提交一样,您可以使用

    git commit -a -m“你的消息就在这里”

  3. 希望有所帮助。

答案 1 :(得分:1)

这似乎是Mac OS X终端的一个问题。一些但并非所有使用nano的人都遇到过它。

您可以通过输入以下内容来欺骗终端,使其认为是另一个终端:

TERM=VT100
export TERM 

...或探索终端的设置(或使用其他设备,如xterm或iTerm)。

其他编辑如Textmate,vim,BBedit,[...]效果很好。你必须坚持纳米?

如果您的提交消息很短,您可以使用-m标志手动附加它:

git commit -am "my commit message."