首页 文章

git命令不正确沉默:Ubuntu 18.04.1 LTS上的git 2.17.1

提问于
浏览
2

我刚刚升级了我的操作系统和 git ,而 git loggit diffgit branch 等命令都是不正确的 .

$ git clone git@github.com:ropensci/drake
Cloning into 'drake'...
remote: Enumerating objects: 482, done.
remote: Counting objects: 100% (482/482), done.
remote: Compressing objects: 100% (341/341), done.
remote: Total 35298 (delta 377), reused 205 (delta 136), pack-reused 34816
Receiving objects: 100% (35298/35298), 88.73 MiB | 13.48 MiB/s, done.
Resolving deltas: 100% (28670/28670), done.
$ cd drake/
$ echo 123 > newfile
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        newfile

nothing added to commit but untracked files present (use "git add" to track)
$ git diff 
$ git log -1
$ git branch
$ git --version
git version 2.17.1
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

编辑:使用GIT_TRACE:

$ GIT_TRACE=1 git log -1
08:13:20.414948 git.c:344               trace: built-in: git log -1
08:13:20.417438 run-command.c:646       trace: run_command: unset 
GIT_PAGER_IN_USE; LESS=FRX LV=-c pager

3 回答

  • 2

    他们很好 .

    如果没有输出,终端将没有任何内容 .


    git状态

    您已创建新文件,但未添加或提交它,因此没有更改 .

    • 你看到这个文件 git status

    git diff(无参数)

    打印工作目录和索引之间的差异 .


    git log -1

    git log -1 应该打印日志中的最后一次提交 .

  • 0

    从这里问题很清楚:

    08:13:20.417438 run-command.c:646 trace:run_command:unset
    GIT_PAGER_IN_USE; LESS = FRX LV = -c pager

    (我不确定为什么这条线被分成两个这样的线) . 有效的 git status 命令未使用您的寻呼机 . git clone 也没有使用你的寻呼机 . 但是, git branchgit diffgit log 默认情况下都使用您的寻呼机,显然设置为 pager .

    系统上的 pager 命令或别名似乎通过读取标准输入并且根本不显示任何内容来工作 . 因此 git branch 列出的 master 分支, git diff 中的差异和 git log 的日志列表被这个 pager 命令吃掉并丢弃,让你无话可看 .

    安装新版本的Git可能会将您的寻呼机更改回更常见的 less 设置,而不是将此更改为 pager .

  • 1

    显然, git 版本2.20刚刚发布:https://github.com/git/git/releases . 我downloaded itinstalled it from the source,现在我可以在控制台中看到一切 . 我仍然不知道 git 2.17有什么问题 .

相关问题