我通过编辑 settings.json 文件将 Windows 上的 bash 添加到 Windows 终端,当我尝试编译用 c++ 编写的简单 hello world 时,它会抛出错误,未检测到 gcc 或 g++ 如何正确添加 MSYS bash 终端,以便我可以从 Windows 终端编译文件
在 settings.json 中,我添加了 bash shell 的路径,如下所示:
{
"commandline": "powershell.exe",
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"hidden": false,
"name": "Windows PowerShell"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"commandline": "C:\\msys64\\usr\\bin\\bash.exe -i -l",
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"hidden": false,
"name": "msys2"
},
{
"guid": "{495d29da-4bfb-4956-abd8-ed1760703232}",
"commandline": "cmd.exe",
"hidden": false,
"name": "cmd.exe"
}
Run Code Online (Sandbox Code Playgroud) 我想找回一些我之前在某些提交中删除的代码.我不记得代码到底是什么,但我记得它做了一些非常有用的东西,但我删除它因为我认为我不需要它.但是,我现在需要回复代码,但我只记得它的功能.
其他信息:包含该功能的文件还包含500行代码.有一个30提交范围,我知道代码出现在一个点上.
这个问题是一个高级别的问题.我如何使用我所知的信息来获取我想要的信息?
初学者的一个问题:git历史记录有多种搜索方式。对我来说,不清楚命令之间的区别到底是什么:
git log
,例如git log -S 'for what you search' --all
在所有分支中搜索字符串并
git log -G 'search for regexpr' --all
搜索 regexpr。例如参见这里git log --grep 'pattern'
git rev-list
,例如git rev-list --grep='string' --all
git grep
,例如git grep "string or regexpr" $(git rev-list --all)
从这里gitk
,例如gitk file.txt
GUI 界面git log --all --full-history -- **/thefile.*
从这里搜索历史记录中的文件名。git diff --word-diff-regex=. > changes.txt
结合grep -oP '\+[^\+]+\+' changes.txt | tr -d '\+'
显示基于字符的变化。从这里。如果尚未提交更改,这甚至可以工作。我的理解很差
git …
假设我记得我"XYZword"
在回购邮件中保存了一个单词,但它被杀了,我只记得初始部分,"XYZ"
但没有关于时间或文件.我怎么能"XYZ"
在整个历史中喋喋不休?
我正在我的 git 存储库中的一个特定分支上工作,并注意到我认为我更改的一段代码。也许更改发生在另一个尚未合并到master
的分支上或我正在工作的当前分支上。如何在整个存储库(包括所有分支)中搜索对一个源代码文件的特定更改?
我在调试平台的关键功能时遇到了一个有趣的情况,并在代码库的相关函数中遇到了这一行:
// This line below is where shit is hitting the fan
Run Code Online (Sandbox Code Playgroud)
查看该行代码是在什么提交中提交到 Github 的,这将非常有帮助,它可能是来自代码库的前一位开发人员,正在处理我所看到的同一问题。了解他们在该提交期间以及周围的其他工作中所做的其他工作将非常有帮助。
我知道我可以转到该特定文件,搜索更新该文件的所有提交,并按提交搜索这些提交,但这需要很长时间。
有没有一种有效的方法使用 Git / Github 来找出一行代码首次提交的时间?