gitk无法找到GIT存储库
当我运行gitk
时,弹出一个Tk窗口,指出“它在此处找不到GIT存储库”。
我错过了什么?这些是我遵循的步骤。原谅我,如果我错过了一些愚蠢的东西。gitk无法找到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 <[email protected]******.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
这应该有工作。我错过了什么?我相信还有一些依赖。
好吧。首先,唯一真正正确的答案是,使用你的软件包管理器,你的问题就会消失。
但我会解释我为什么这么说。您的软件包管理器会将git文件放在您的$ PATH中用于所有登录和shell会话的位置。
我看到你已经从源代码手动编译安装git,创造性地组成一个路径标题为/******/tools/install/git-tools/git-1.7.11.2/
。我认为发生的事情是这样的:你只在这个登录/ shell会话中将git二进制文件添加到你的$PATH
中,或者你已经在你的bash配置文件中使用别名。
这会导致你看到的错误。 Reading the source of gitk,你可以看到这里的错误发生了:
if {[catch {set gitdir [exec git rev-parse --git-dir]}]} {
show_error {} . [mc "Cannot find a git repository here."]
exit 1
}
所以,gitk使用git的二进制检查是否有一个混帐回购协议存在。但gitk无法找到git二进制文件,因为它不能访问您的shell别名或您在某些短暂登录/ shell会话中可能对$ PATH进行的任何临时更改。
所以使用你的包管理器。 :)或者修理你的路径,如果你坚持要有一个手卷的git。
我没有将二进制文件添加到'$ PATH',而是我在bash配置文件中创建了别名。从来没有想过这会有所作为,直到现在。非常感谢。 – 2012-08-15 15:16:35
因为现在我的git二进制路径不在$ PATH中,所以gitk找不到git,从而出现这个错误。所以,一旦我添加二进制文件路径,错误就会发生。 – 2012-08-15 15:17:54
我不得不再次强调,正确的答案是使用包管理器。但是如果你坚持不这样做,那么确保gitk程序可以找到git可执行文件就是解决方案。这是否会导致gitk按预期运行,但我不能说,因为我不知道你的git安装可能存在什么其他问题。 :)使用包管理器,世界和平取决于它。 :) – JosefAssad 2012-08-15 15:52:32
如果这实际上解决了这个问题,那么dir并不是一个git repo。显然,询问的人实际上在那里有回购。更糟糕的是,对于旧版本的git,'git init'没有提供警告。这意味着'git init'会**清除本地副本**中的所有历史记录。 _有人需要阅读该手册页,我敢说这不是人问的问题。 – Mark 2017-01-12 16:50:01
确保/tmp
是可写的。
这是我得到这个错误时的问题。
请将您在'abc /'目录中的'ls -la'的输出添加到您的文章中。 – JJD 2012-08-15 09:49:08
我已经添加了'ls -la'输出。是的,我知道.git目录以及它的功能。它在那里。 – 2012-08-15 10:41:12
我的猜测是有一些内部依赖gitk需要我没有安装。 – 2012-08-15 10:41:45