- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
最近我的 Windows 7 机器上的 GIT 发生了一些非常奇怪的事情。使用 GIT bash,如果我更改到计算机上任何硬盘驱动器上的任何目录,我会看到:
Adam@C-ADAM ~ ((unknown))
其中 ~
是可变的,具体取决于当前目录。
如果我运行 git status
,我会得到以下输出:
flashplayerpluginfatal: Not a git repository (or any of the parent directories):
.git
线索一定在flashplayerplugin
中,然而,我在我的电脑上搜索了这个文件夹,但我找不到任何与.git
相关的东西。
如果我导航到我计算机上的实际 GIT 存储库目录,我会得到:
Adam@C-ADAM /d/WWW/yii-projects/irish-health-pro (flashplayerpluginrefs/heads/ma
ster)
我的另一个猜测是我的 $PATH
变量中的某个目录可能包含一个 .git
目录。但是,我已经完成了这些,但找不到任何明显的东西:
$ echo $PATH
/c/Users/Adam/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/Python27/:/c/Python27/Scri
pts:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Program Files/Comm
on Files/Microsoft Shared/Windows Live:/c/Windows/system32:/c/Windows:/c/Windows
/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/EXEs:/c/Program Fi
les (x86)/Microsoft SQL Server/100/Tools/Binn/:/c/Program Files/Microsoft SQL Se
rver/100/Tools/Binn/:/c/Program Files/Microsoft SQL Server/100/DTS/Binn/:/c/xamp
p/apache/bin:/c/xampp/mysql/bin:/c/Program Files (x86)/cwRsync/bin:/c/EXEs:/c/EX
Es/ffmpeg/bin:/c/EXEs/gource:/c/xampp/php:/c/Program Files (x86)/QuickTime/QTSys
tem/:/c/Users/Adam/AppData/Roaming/Python/Scripts:/c/Program Files/Common Files/
Microsoft Shared/Windows Live
我已经重新安装了 GIT,但没有任何区别。
如果我从我得到的任何文件夹运行 git gui:
有没有人以前见过这样的事情并且知道如何解决?我再也不能在这台电脑上使用 Git,我很想在这个周末完成一些工作!
根据要求:
$ cd; set -x
++ __git_ps1
++ local pcmode=no
++ local detached=no
++ local 'ps1pc_start=\u@\h:\w '
++ local 'ps1pc_end=\$ '
++ local 'printf_format= (%s)'
++ case "$#" in
++ printf_format=' (%s)'
+++ __gitdir
+++ '[' -z '' ']'
+++ '[' -n '' ']'
+++ '[' -n '' ']'
+++ '[' -d .git ']'
+++ git rev-parse --git-dir
++ local g=flashplayerplugin
++ '[' -z flashplayerplugin ']'
++ local r=
++ local b=
++ '[' -f flashplayerplugin/rebase-merge/interactive ']'
++ '[' -d flashplayerplugin/rebase-merge ']'
++ '[' -d flashplayerplugin/rebase-apply ']'
++ '[' -f flashplayerplugin/MERGE_HEAD ']'
++ '[' -f flashplayerplugin/CHERRY_PICK_HEAD ']'
++ '[' -f flashplayerplugin/BISECT_LOG ']'
+++ git symbolic-ref HEAD
++ b=flashplayerplugin
++ detached=yes
++ b=flashplayerplugin
+++ cut -c1-7 flashplayerplugin/HEAD
++ b=...
++ b=unknown
++ b='(unknown)'
++ local w=
++ local i=
++ local s=
++ local u=
++ local c=
++ local p=
+++ git rev-parse --is-inside-git-dir
++ '[' true = flashplayerplugin ']'
+++ git rev-parse --is-inside-work-tree
++ '[' true = flashplayerplugin ']'
++ local f=
++ '[' no = yes ']'
++ printf -- ' (%s)' '(unknown)'
根据要求添加更多信息:
Adam@C-ADAM ~ ((unknown))
$ set | grep -F GIT
case "${GIT_PS1_DESCRIBE_STYLE-}" in
b="GIT_DIR!";
if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then
if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then
if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then
if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then
if [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
GIT_PS1_SHOWUPSTREAM="$value";
if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then
for option in ${GIT_PS1_SHOWUPSTREAM};
upstream=${GIT_SVN_ID:-git-svn};
if [ -n "${GIT_DIR-}" ]; then
test -d "${GIT_DIR-}" || return 1;
echo "$GIT_DIR";
Adam@C-ADAM ~ ((unknown))
$ cat ~/.gitconfig
[user]
name = Adam xxxx
email = adamxxxx@gmail.com
[diff]
tool = bc3
[difftool "bc3"]
path = c:/program files (x86)/beyond compare 3/bcomp.exe
[merge]
tool = bc3
[mergetool "bc3"]
path = c:/program files (x86)/beyond compare 3/bcomp.exe
Adam@C-ADAM ~ ((unknown))
$ command -V git
git is hashed (/bin/git)
Adam@C-ADAM ~ ((unknown))
$ git --version
flashplayerplugingit version 1.8.1.msysgit.1
Adam@C-ADAM ~ ((unknown))
最佳答案
一些可能性:
GIT_DIR
环境变量设置为 flashplayerplugin
。尝试运行 unset GIT_DIR
。git
调用 shell 函数而不是 git
实用程序。尝试运行 unset -f git
。git
是一个 shell 别名,它正在做一些有趣的事情。尝试运行 unalias git
。git
是一个 shell 脚本,它正在做一些有趣的事情。如果这些都不起作用,您将需要提供更多信息。请使用以下命令的输出更新您的问题:
设置| grep -F GIT
cat ~/.gitconfig
command -V git
git --version
关于Git bash 总是说分支是 ((unknown)) 在所有目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120078/
我用 IntelliJ IDEA 2021.1 CE 在 流行!_OS 20.04 与 bash 5.0.17 . 问题造句:我将IntelliJ终端设置为/bin/bash通过 IntelliJ 设
给定如下命令: bash --shortcuts 我想显示一个快捷方式列表,就像在这个页面上一样: http://www.skorks.com/2009/09/bash-shortcuts-for-m
我有一个脚本可以操作数据、创建参数并将它们发送到第二个脚本。其中一个参数包含一个空格。 脚本1.sh: args=() args+=("A") args+=("1 2") args+=("B") .
我的脚本的“只运行一次”版本的一个非常简单的示例: ./myscript.sh var1 "var2 with spaces" var3 #!/bin/bash echo $1 #output: va
我想了解数字( double )在 bash 中是如何表示的,以及当我在 bash 中以十六进制格式打印数字时会发生什么。 根据 IEEE 754 标准,double 应由 64 位表示:52 位(1
我试图在 bash -c "..." 命令中获取 bash 脚本,但它不起作用。 如果我在 bash -c "..." 之外运行命令,它会起作用。 我需要使用 bash -c "..." 因为我想确保
如何检测我的 bash shell 中是否加载了 bash 补全包?从 bash-completion 的 2.1 版(包含在 Debian 8 中)开始,除了 BASH_COMPLETION_COM
我的 bash_profile 中有一个投影函数。现在我试图从 bash 脚本中调用这个函数,但是我得到了一个未找到的错误。如何使投影函数对 bash 脚本可见? 最佳答案 必须导出函数 export
我正在编写一个 bash 脚本,它接受许多命令行参数(可能包括空格)并通过登录 shell 将它们全部传递给程序 (/bin/some_program)。从 bash 脚本调用的登录 shell 将取
当我创建一个新的 bash 进程时,提示符默认为一个非常简单的提示符。我知道我可以编辑 .bashrc 等来更改它,但是有没有办法使用 bash 命令传递提示? 谢谢! 最佳答案 提示由 PS1、PS
好的,我希望这个问题有一定道理,但是 bash shell 和 bash 终端之间有什么区别?例子。当我第一次打开终端时,会提示我当前的目录和用户名。在终端窗口标题中显示 -bash- ,当我键入 e
我是 SBCL 的新手,我正在尝试从 bash 终端运行存储在文本文件中的 Lisp 脚本。 这是我在文件开头写的内容 http://www.sbcl.org/manual/#Running-from
我知道我们可以在 bash 中使用将十六进制转换为十进制 #!/bin/bash echo "Type a hex number" read hexNum echo $(( 16#$hexNum ))
我正在尝试在 bash 脚本中自动完成文件夹名称。如果我输入完整的文件夹名称,一切正常,但我不知道如何自动完成名称。有什么想法吗? repo() { cd ~/Desktop/_REPOS/$1 }
我想检查远程网站上的一些文件。 这里是bash命令生成计算文件md5的命令 [root]# head -n 3 zrcpathAll | awk '{print $3}' | xargs -I {}
是否有任何内置函数可以使用 bash shell 脚本从给定日期获取下周日(下周一、下周二等)?例如,2014 年 9 月 1 日之后的第一个星期日是什么时候?我预计 2014 年 9 月 7 日。
我一直在尝试根据表格重命名一些特定文件,但没有成功。它要么重命名所有文件,要么给出错误。 该目录包含数百个以长条形码命名的文件,我只想重命名包含模式 _1_ 的文件。 例子 barcode_1_bar
bash 中有没有办法用变量的内容替换文本文件中的占位符? 例如,我想发送一封电子邮件通知,如下所示: Dear Foo, Alert: blah blah blah blah blah blah
我有一个 bash 脚本,它在某些字符串上附加了一个重音字符,导致它失败,我找不到这些字符在哪里或如何进入那里。 这是一些示例输出: mv: cannot move â/tmp/myapp.zipâ
这个问题在这里已经有了答案: How do I place stdout on edit line? (1 个回答) Can a bash script prepopulate the prompt
我是一名优秀的程序员,十分优秀!