相关疑难解决方法(0)

如何在git历史中grep(搜索)已提交的代码?

我过去的某个时候删除了文件或某些代码.我可以在内容中进行grep(不在提交消息中)吗?

一个非常糟糕的解决方案是grep日志:

git log -p | grep <pattern>
Run Code Online (Sandbox Code Playgroud)

但是,这不会立即返回提交哈希.我一直玩得git grep无济于事.

git diff grep

1342
推荐指数
10
解决办法
36万
查看次数

Python无法在git bash的命令行中运行

Python不会在git bash(Windows)中运行.当我在命令行中键入python时,它将我带到一个空白行,而不是说它已经像在Powershell中那样输入了python 2.7.10.它没有给我一个错误消息,但python只是不运行.

我已经确定了PATH中的环境变量c:\python27.我还能检查什么?


发生此问题的会话如下所示:

user@hostname MINGW64 ~
$ type python
python is /c/Python27/python

user@hostname MINGW64 ~
$ python
Run Code Online (Sandbox Code Playgroud)

......坐在那里而不回到提示.

python windows git command-line git-bash

192
推荐指数
11
解决办法
11万
查看次数

Windows命令提示符下〜(用户主目录)的替代方法是什么?

我正在尝试使用命令提示符移动一些文件,我习惯使用linux终端我~用来指定我的主目录我到处都看了但是我似乎无法找到它的Windows命令提示符(Documents and Settings\[user])

command command-prompt home-directory

189
推荐指数
4
解决办法
16万
查看次数

在Windows上启动Git Bash时运行SSH代理

我正在使用git bash.我必须使用

eval `ssh-agent.exe`
ssh-add /my/ssh/location/
Run Code Online (Sandbox Code Playgroud)

每当我开始新的git bash时.

有没有办法永久设置ssh代理?或者Windows有一个很好的方法来管理ssh密钥?

我是新手,请给我详细的教程,谢谢!

windows ssh git-bash

133
推荐指数
5
解决办法
13万
查看次数

在Windows安装的Git Bash中更改〜目录的位置

我甚至不确定我是在问正确的问题.让我解释一下我的情况:

这是关于Windows 7上的Git.

我的公司在网络驱动器上设置Windows用户目录,而不是在本地硬盘驱动器上(用于备份和超出此问题范围的其他目的).我不能改变这个政策.

我可以在该方案之外拥有本地文件,这就是我的Apache服务器的设置方式.完全是当地的.

我安装了Git.它安装了Bash.当我启动Bash和cd ~(更改到根目录)时,我发现它(Bash根目录)指向我的网络用户目录.我希望它不要那样做.我想要 ~在我的硬盘上的其他地方.我想要它,以便当我执行其他操作,如安装证书,SSH密钥等时,其默认值不会自动使用该网络目录.

我到处搜索都是徒劳的,我能找到的所有内容都指的是涉及别名,重定向和$ HOME指向的位置的答案.但这根本不是我想要的.

问题是:我可以更改该目录吗?如果是这样的话:怎么样?

更新:所以,$ HOME是我需要修改的.但是我一直无法找到这个神秘的$ HOME变量的位置,所以我认为它是一个Linux系统版本的PATH或其他东西.无论如何 ......

我的确有一个"个人资料"文件git/etc.以下是内容(注意没有$ HOME):

  # To the extent possible under law, the author(s) have dedicated all
  # copyright and related and neighboring rights to this software to the
  # public domain worldwide. This software is distributed without any warranty.
  # You should have received a copy of the CC0 Public Domain Dedication along
  # with this software.
  # If not, see …
Run Code Online (Sandbox Code Playgroud)

git msysgit mingw32 git-bash msys2

119
推荐指数
6
解决办法
10万
查看次数

将Git-Bash添加到新的Windows终端

我正在尝试将新终端(Git Bash)添加到新的Windows终端,但是无法正常工作。

我尝试将数组中的commandline属性更改为profilesgit-bash.exe但没有运气。

有谁知道如何使它起作用?

提前致谢。

git-bash windows-terminal

41
推荐指数
13
解决办法
9843
查看次数

Unix:源和导出有什么区别?

我正在编写一个shell脚本,用于读取具有key = value对的文件,并将这些变量设置为环境变量.但我有一个疑问,如果我愿意source file.txt将该文件中定义的变量设置为环境变量,或者我应该逐行读取文件并使用export命令设置它?

在这种情况下,源命令是否与导出不同?

unix linux

17
推荐指数
2
解决办法
1万
查看次数

如何更改MSYS2上的HOME目录和启动目录?

我安装了MinGW-w64和MSYS2.但是如何在MSYS2中更改HOME目录?因此,当我输入cd $ home或cd~时,它会转到我定义的另一个目录.

我如何编写代码,以便起始目录始终放在.bat文件的位置?

在cmd中我使用了这段代码:

%~d1 cd"%~p1"调用cmd

所以当我在桌面上打开cmd时,它从桌面上的目录开始.

我怎么能用msys2做类似的事情?

windows gcc mingw-w64 msys2

15
推荐指数
3
解决办法
1万
查看次数

如何从另一个c文件调用静态函数?

我想从另一个C文件调用静态函数.但它总是显示出来"function" used but never defined.

在ble.c

static void bt_le_start_notification(void)
{
    WPRINT_BT_APP_INFO(("bt_le_start_notification\n"));
}
Run Code Online (Sandbox Code Playgroud)

在ble.h

static void bt_le_start_notification(void);
Run Code Online (Sandbox Code Playgroud)

当我尝试bt_le_start_notificationmain.c中调用时,它将显示"bt_le_start_notification" used but never defined.

在main.c

#include "ble.h"

void application_start( void )
{
  bt_le_start_notification();
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?提前致谢.

c

8
推荐指数
3
解决办法
2万
查看次数

"代码." 命令无效

这是我在VS代码中执行shell命令时得到的行

我收到此错误:

code . 不被识别为外部或内部命令,可操作程序或批处理文件

而且shell命令没有进入我的编译器VS代码也没有setx路径"%path%; C:\ Program Files\Microsoft VS Code"在命令提示符下工作.

visual-studio-code

6
推荐指数
3
解决办法
6265
查看次数

fwrite 无法写入完整(非常大)的缓冲区

我有一个非常大的 8GB 数组,uint64_t需要写入文件。由于某种原因,fwrite()只写入 290MB(正好 305,131,520 字节),然后就停止了。我的程序正在使用 CPU 的完整核心(此时它唯一的工作是写入文件),但任务管理器显示磁盘活动为 0。我必须按 Ctrl+C 来停止它。这是我将数组写入文件的代码:

void writeToFile(char* fileName, u64* array, size_t arraySize)
{
    FILE* fp;
    fp = fopen(fileName, "wb");

    if (fp == NULL)
    {
        printf("Unable to write file");
    }

    fwrite(array, 8, arraySize, fp);

    fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

如果我在 Visual Studio 中编译,它可以正常工作并写入整个数组。不过,我喜欢在 Visual Studio 中编写代码,然后使用 CodeBlocks 和 gcc 进行编译(gcc 具有更好的优化)。使用gcc编译时,无法写入超过290MB。这里有什么问题?

注意:我正在 Windows 上为 Windows 进行编译,并且该程序正在写入 Gen 4 NVMe SSD,因此写入时间应该小于 10 秒。我用的gcc是x86_64-w64-mingw32-gcc.exeCodeBlocks自带的。

编辑

好的,这是一个最小的可重现程序:

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h> …
Run Code Online (Sandbox Code Playgroud)

c fwrite

5
推荐指数
1
解决办法
221
查看次数