git commit-m,switch';m';需要一个值吗?

git commit-m,switch';m';需要一个值吗?,git,vim,Git,Vim,我对git-like有问题 当我执行git提交时。然后我尝试了git commit-m,它告诉我error:switch'm'需要一个值 我对此感到非常困惑,您能给我一些想法吗?-m开关表示您将添加一条提交消息(提交名称)。当输入-m时,表示将在后面输入一个字符串,如下所示: git commit -m "This is my first commit - I changed xy class in it" 而且 git commit -a -m "add button to sig

我对git-like有问题

当我执行git提交时。然后我尝试了
git commit-m
,它告诉我
error:switch'm'需要一个值


我对此感到非常困惑,您能给我一些想法吗?

-m开关表示您将添加一条提交消息(提交名称)。当输入-m时,表示将在后面输入一个字符串,如下所示:

  git commit -m "This is my first commit -  I changed xy class in it"
而且

 git commit -a -m "add button to signup flow"
等于:

  git add .
  git commit -m "add button to signup flow"
注意事项:

  • 这不完全是rails的问题,而是git的问题
  • 通常用现在时态命名提交消息,即做这个、做那个等
  • 最初的问题并不是你发布的问题标题。它是双管齐下的:vim,git。与rails或heroku无关

链接中的消息表示您在早些时候开始编写提交消息,但没有关闭该文件(或者该文件在其他终端窗口中打开)。通常可以删除
swp
文件,除非要恢复其内容。有关更多详细信息,请参阅和

git commit-m
期望提交消息将跟随
-m
标志,这是导致第二个错误的原因。你可以做:

git commit -m "some commit message"

完成提交。

这里有几件事要做

  • OP尝试以通常的方式提交。屏幕截图中的编辑器Vim给出了一个错误,因为存在交换文件。这通常表示以下情况之一:
  • Vim在某个地方打开,正在编辑该文件;或者
  • Vim在编辑该文件时崩溃(或被杀死)
  • 对于新的vim用户来说,这尤其令人困惑。然而,这是一个vim错误,而不是git错误。对于提交消息,解决方案通常最好是

  • 退出vim(
    :q!
  • 删除交换文件
  • 再次尝试提交(并使用
    :wq
    ZZ
    或任何其他方法正确退出vim)。如果您不喜欢vim,请将git配置为使用其他编辑器。(如果你在谷歌上搜索的话,这最后两个声明对所有问题都投了很高的赞成票。)
  • 注意我不建议在出现问题时立即删除交换文件

  • 不过,接下来,OP似乎已经放弃了vim(对于较新的用户来说,这是一件正常的事情,尽管我鼓励OP运行
    vimtutor
    ,至少尝试一下vim;)。可能认为
    -m
    会使用他们已经键入的消息,他们尝试了。但是,根据git help commit,
    -m
    要求将消息作为命令的参数
    我一般不推荐使用
    -m
    表单,因为对于大多数git提交来说,一行是不够的

    git在与-m参数一起使用时需要提交消息。。。像
    git commit-m“commit message”
    在将来,请@ARK 1)问题被否决,而不是用户。2) 零尽职调查或努力,如常见问题解答中所述。3) 微不足道的可研究的。这是一个很好的例子,说明了一个问题可以连同理由一起被否决。@DaveNewton,我明白了。