【问题标题】:github locks up mac terminal when using pull commandgithub在使用pull命令时锁定了mac终端
【发布时间】:2012-12-12 08:07:10
【问题描述】:

我正在mac(命令行)上学习github,每当我这样做git pull origin master我都会得到这个

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 293C

终端似乎被锁定并且不允许我立即输入任何内容,然后当它最终允许我输入文本时,它似乎无法识别 git 命令。

这是 git 中的错误还是我遗漏了什么?

【问题讨论】:

  • 真的被锁住了还是你只是不熟悉vi
  • 我不能确切地告诉你为什么,但是 git 希望你输入一个提交信息,而你很可能在文本编辑器 vim 中。
  • 啊,我明白了,是的,我不熟悉 vim。如何输入并保存评论然后继续?
  • 输入 i 插入评论,然后按 esc 并输入 :wq
  • 如果你不熟悉vi你不是被锁了吗?

标签: git github terminal


【解决方案1】:

你在文本编辑器中,vim!这是一个 modal 文本编辑器,因此您需要:

  1. i进入插入模式
  2. 现在您可以键入消息,就像您在普通的 (非模态)文本编辑器。
  3. esc 返回命令模式
  4. 然后输入:w,再输入回车保存。
  5. 最后 :q 后按 enter 退出。

【讨论】:

  • git 假设每个人都知道 vim,这很棒。
  • @user124384 Git 尝试使用您的 $EDITOR 环境变量,但如果找不到,则回退到 vi。您可以通过 git config 的 core.editor 配置回退。见git-scm.com/book/en/v2/…
  • 我可以在哪里输入i
  • @val-kharitonashvili 在 querty 键盘上,它与 uo 相邻;)但实际上,只要终端有焦点,它就可以工作。
  • 为什么会发生这种情况?我一直在做git merge master,在过去的两天里,我看到了这个......
【解决方案2】:

让它变得简单。

键入:wq输入

【讨论】:

    【解决方案3】:

    我通过执行以下步骤解决了这个问题

    1. 删除#MERGE_MSG#

      rm .git/\#MERGE_MSG#

    2. 删除 MERGE_HEAD

      rm .git/MERGE_HEAD

    另外,我明确将git的编辑器设置为我熟悉的编辑器vim(可以设置nano

    `git config --global core.editor "vim"`
    

    【讨论】:

      【解决方案4】:

      运行此命令

      git config --global core.editor "gedit"
      

      在此文件中添加您的消息并保存。 现在回去拉。

      【讨论】:

        【解决方案5】:

        根据您的描述,编辑器看起来像 vim。 这个控制台只是告诉你为你想要提交的提交写一些消息,它是强制性的。

        • 只需输入i,您将进入-- INTER -- 模式,现在您可以编写您的cmets。

        • 写完后,按键盘上的esc 键,您将进入命令模式。 (参见控制台底部

        • 现在通过写:w 保存更改,然后按enter

        • 您现在可以通过写:q 然后按enter 键退出

        • 万岁!终于回到了主控制台。

        【讨论】:

          【解决方案6】:

          你可以 git checkout --merge yourbranch

          当前分支、工作树内容和新分支之间的三向合并已完成,您将位于新分支上。

          【讨论】:

            【解决方案7】:

            当我们拼错某些东西时,通常会出现问题。
            您更有可能对这个命令感兴趣:

            git commit -m "message"
            

            如果有问题,它可能会说类似

            Your branch and 'origin/master' have diverged,
            and have 2 and 1 different commits each, respectively.
              (use "git pull" to merge the remote branch into yours)
            

            并使用:

            git pull
            

            这应该导致:

            Already up-to-date.
            

            那就好好检查一下:

            git status
            

            然后再次尝试推送:

            git push
            

            【讨论】:

              【解决方案8】:

              更简单的是先 ESC ,然后: x(小写)。

              【讨论】:

                猜你喜欢
                • 2020-07-28
                • 1970-01-01
                • 2010-12-11
                • 1970-01-01
                • 2021-05-05
                • 2011-07-16
                • 2017-04-08
                • 2016-10-09
                相关资源
                最近更新 更多