我使用提交消息"Build 0051"检查了一些源代码到GIT中.
但是,我似乎无法再找到源代码 - 如何使用命令行从GIT存储库中提取此源代码?
更新
更新
源代码肯定存在,现在需要检查它:
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 -p | grep --context=4 "word"
Run Code Online (Sandbox Code Playgroud)
但它并不一定会给我回文件名(除非它比我搜索的单词少了5行.我也尝试过
git grep "word"
Run Code Online (Sandbox Code Playgroud)
但它只给我现在的文件,而不是历史.
如何搜索整个历史记录以便我可以跟踪特定单词的更改?我的意思是在我的代码库中搜索单词的出现以跟踪更改(在文件历史记录中搜索).
我在我的git repo中有一段代码而不是我当前的分支,我不确定哪个提交和哪个分支.我怎样才能搜索到目前为止为特定字符串提交的所有文件(之后显示该行代码的周围)?
我想找出所有改变了一行代码的作者.Git-log可以在文件级别上执行.我阅读了手册页,似乎git log无法在行级别上执行.有没有办法使用git命令来做或我需要为自己编写脚本?
出于我的目的,我想对所有代码行执行此操作.我这样做是为了为我的研究提供作者培训数据.
所以也许我问问题的方式是错误的,但我找不到有关如何做到这一点的信息。我有一个大型 git 存储库,其中有许多人在过去两年中进行了许多提交。有没有人曾经想出一种方法来查询 git 提交历史记录?我是一个 SQL 专家,所以我习惯使用 SQL 来查询数据库(甚至使用 grep 或 find 来查询我的文件系统)。
这些是我想运行的示例查询:
如果我什至可以导出 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)