如何在bash终端的命令行中退出git

如何在bash终端的命令行中退出git

我的终端日志行(这是正确的术语吗?)显示我在 git 中。我该如何退出 git?: 在此处输入图片描述

答案1

所以最终这个问题归结为对 shell 显示内容的困惑,但我们会逐步解决它。

许多操作系统和 shell 发行商(或其用户)可能会选择在其 cli shell 中使用“Git Aware”提示符。这些提示符的作用是显示有关 shell 当前工作目录或该工作目录路径中存在的 git 存储库的信息。在问题提供的图像中,此 shell 正在显示有关在/home或中定义的 git 存储库的信息/home/alan。但需要注意的是,git 应用程序当前未运行,因此没有什么可以“退出”的。

Git 提供非交互式和交互式命令。大多数用户只是调用非交互式 git 命令,然后立即执行并返回控制权给 shell。

虽然这里不是这种情况,但如果我不提一下,有几个 git 命令可以以交互方式使用,就像git add -i在 shell 中启动并继续运行一样,提示用户输入他们想要做什么的信息。

$ git add -i
           staged     unstaged path
  1:    unchanged        +0/-1 TODO
  2:    unchanged        +1/-1 index.html
  3:    unchanged        +5/-1 lib/simplegit.rb

*** Commands ***
  1: [s]tatus     2: [u]pdate      3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff        7: [q]uit       8: [h]elp
What now>

(来源https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging

在上述情况下,您将点击q退出应用程序。如果 git interactive 命令没有提供退出方法,这通常表示此时退出应用程序并不安全,因为正在进行一些未完成的操作(例如,存在冲突的合并,其中并非所有冲突都已解决)。

您还可以选择使用 shell 方法结束命令,如 ,ctrl+c但在错误的情况下,这可能会产生意外或破坏性的结果。Ctrl+c在合并冲突解决期间按下或终止 shell 实例将使您的文件充满冲突标记,如<<<<<<< HEAD=======>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086,因此它确实会损坏您的代码文件。

但在这种情况下,没有 git 交互式命令正在运行,并且没有必要进一步担心。如果 shell 指示路径上存在不需要的 git 存储库,则可以删除存储库,或者将目录移动到不包含存储库的另一个路径。您可能还可以将路径添加到 .gitignore 文件中,但我不确定这是否会阻止父目录中的存储库在提示上显示 git-awareness。

相关内容