4

当我运行时gitk,会弹出一个 Tk 窗口,提示“它无法在此处找到 GIT 存储库”。
我错过了什么?这些是我遵循的步骤。如果我错过了一些愚蠢的事情,请原谅我。

[~/TEMP]$ ls
[~/TEMP]$ git init abc
Initialized empty Git repository in /*******/home/jganhotra/TEMP/abc/.git/

添加了一个文件

[~/TEMP]$ cd abc/
[~/TEMP]$ ls -la
total 16
drwxr-x---  3 jganhotra eng 4096 Aug 15 16:05 ./
drwxr-x---  3 jganhotra eng 4096 Aug 15 16:04 ../
drwxr-x---  8 jganhotra eng 4096 Aug 15 16:05 .git/
[abc]$ touch a.txt
[abc]$ gvim a.txt 
[abc]$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       a.txt
nothing added to commit but untracked files present (use "git add" to track)
[abc]$ git add .
[abc]$ git commit -m "Added file"
[master (root-commit) 1ff1051] Added file
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt

做出了承诺

[abc]$ git status
# On branch master
nothing to commit (working directory clean)
[abc]$ git log
commit 1ff1051370dfb69a0e85a60f322da7389366db8b
Author: Jatin Kumar Ganhotra <jganhotra@******.com>
Date:   Mon Aug 13 19:10:38 2012 +0530

    Added file

[abc]$ gitk
[abc]$ which gitk
gitk:    aliased to /*******/tools/install/git-tools/git-1.7.11.2/bin/gitk

[abc]$ ls -la /******/tools/install/git-tools/git-1.7.11.2/bin/gitk
-rwxr-x---  1 devadmin eng 329597 Jul 17 17:43 /*******/tools/install/git-tools/git-1.7.11.2/bin/gitk

这应该有效。我错过了什么?我相信还有一些依赖。

4

4 回答 4

9

好。首先,这里唯一实际正确的答案是,使用你的包管理器,你的问题就会消失。

但我会解释我为什么这么说。你的包管理器会将 git 文件放到你所有登录和 shell 会话的 $PATH 中的位置。

我看到您已经安装了 git,它是从源代码手动编译的,位于一个名为/******/tools/install/git-tools/git-1.7.11.2/. 我认为正在发生的事情是这样的:您要么$PATH在此登录/shell 会话中将 git 二进制文件添加到您的唯一文件中,要么在 bash 配置文件中为它们添加了别名。

这将导致您看到的错误。阅读 gitk 的源码,可以看到错误发生在这里:

if {[catch {set gitdir [exec git rev-parse --git-dir]}]} {
show_error {} . [mc "Cannot find a git repository here."]
exit 1
}

因此,gitk 使用 git 二进制文件来检查那里是否有 git repo。但是 gitk 找不到 git 二进制文件,因为它不会访问您的 shell 别名或您可能在某些临时登录/shell 会话中的某处对 $PATH 所做的任何临时更改。

所以使用你的包管理器。:) 或者修复你的路径,如果你坚持使用手动 git。

于 2012-08-15T13:07:28.117 回答
1

确保它/tmp是可写的。

当我收到此错误时,这就是问题所在。

于 2013-12-20T14:18:20.043 回答
-1

当 /tmp 文件系统已满时,我可以看到同样的问题。

于 2021-08-04T11:17:03.003 回答
-2

在您的 Git 存储库中只需运行:

$ git-init 

gitk 现在将看到您的 git 目录。

有关更多信息,请查看git-init 手册页

于 2013-06-05T12:40:47.237 回答