相关疑难解决方法(0)

如何通过提交消息搜索Git存储库?

我使用提交消息"Build 0051"检查了一些源代码到GIT中.

但是,我似乎无法再找到源代码 - 如何使用命令行从GIT存储库中提取此源代码?

更新

  1. 使用SmartGIT检查版本0043,0044,0045和0046.
  2. 检出0043,并检查其他分支上的版本0051.
  3. 再次检查0043.
  4. 现在,0051已经消失了.

更新

源代码肯定存在,现在需要检查它:

C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. File version:  v0.5.0 build 0052.
Author: unknown <Mike@.(none)>
Date:   Fri Aug 19 17:24:51 2011 +0100

    20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.

C:\Source>
Run Code Online (Sandbox Code Playgroud)

更新

使用以下内容检索丢失的源代码:

C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: …
Run Code Online (Sandbox Code Playgroud)

git git-log

761
推荐指数
10
解决办法
34万
查看次数

如何grep Git为某个单词提交差异或内容?

在Git代码库中,我想列出包含特定单词的所有提交.我试过这个

git log -p | grep --context=4 "word"
Run Code Online (Sandbox Code Playgroud)

但它并不一定会给我回文件名(除非它比我搜索的单词少了5行.我也尝试过

git grep "word"
Run Code Online (Sandbox Code Playgroud)

但它只给我现在的文件,而不是历史.

如何搜索整个历史记录以便我可以跟踪特定单词的更改?我的意思是在我的代码库中搜索单词的出现以跟踪更改(在文件历史记录中搜索).

git search grep

584
推荐指数
5
解决办法
15万
查看次数

277
推荐指数
2
解决办法
9万
查看次数

Git-Repo在所有已提交文件中搜索String(未知分支和提交)

我在我的git repo中有一段代码而不是我当前的分支,我不确定哪个提交和哪个分支.我怎样才能搜索到目前为止为特定字符串提交的所有文件(之后显示该行代码的周围)?

git

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

git可以找出所有曾经改变过一行代码的作者吗?

我想找出所有改变了一行代码的作者.Git-log可以在文件级别上执行.我阅读了手册页,似乎git log无法在行级别上执行.有没有办法使用git命令来做或我需要为自己编写脚本?

出于我的目的,我想对所有代码行执行此操作.我这样做是为了为我的研究提供作者培训数据.

git

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

如何查询git提交历史记录?

所以也许我问问题的方式是错误的,但我找不到有关如何做到这一点的信息。我有一个大型 git 存储库,其中有许多人在过去两年中进行了许多提交。有没有人曾经想出一种方法来查询 git 提交历史记录?我是一个 SQL 专家,所以我习惯使用 SQL 来查询数据库(甚至使用 grep 或 find 来查询我的文件系统)。

这些是我想运行的示例查询:

  • 消息包含文本“xyz”的所有提交
  • 消息类似于“%xyz”的所有提交
  • 所有提交均由用户 person@company.com 完成
  • 属于提交 1234abcd 子级的所有提交
  • 日期 1 和日期 2 之间的所有提交
  • 与/或上述的组合

如果我什至可以导出 git 日志,那么我可以使用不同的工具来获取大部分信息(尽管祖先查询/按分支查询可能很困难)。有时,最好直接进入命令行并快速查询以尝试找到不久前的提交。

git

4
推荐指数
1
解决办法
2674
查看次数

git - 所有缺少提交

有人可以帮我理解这里发生了什么吗?

我开始git log --oneline,吐出来:

4df9421 (HEAD, master) moved some aliases around
d3810e4 (origin/master) some terminal color changes
a7182d3 git colors, ignores, etc.
995fe8c added gitconfig, moved some personal stuff out of the public repo
8a100b7 misc unimportant updates
55d2c08 added a fix to "open with", refactored
7ec7d83 Removed some vim colors; added a couple searching aliases
330c7fc Minor updates
44e80a1 Added vim files
48537c6 Fixed some formatting problems
14933a2 Initial Commit
Run Code Online (Sandbox Code Playgroud)

然后我做git reset --hard 330c7fc了将日志带回:

330c7fc …
Run Code Online (Sandbox Code Playgroud)

git

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

标签 统计

git ×7

console ×1

git-log ×1

grep ×1

search ×1