标签: git-log

搜索 git 历史记录以查找夜间或周六所做的提交

Github 有一个打孔卡,显示提交完成的时间,但不显示在那一小时内完成了哪些提交。

有没有什么简单的方法可以搜索到git log在某个时间间隔(而不是特定日期)内所做的提交。

只是为了澄清,我不是要查找在特定日期进行的提交,而是要查找任何日期晚上 10 点到凌晨 5 点之间进行的所有提交。

不使用超级自定义脚本可以完成吗?

git git-log

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

如何在日志中查看每次提交的更改文件?

我想查看在每次提交中更改的文件列表git log另一个问题询问如何查看单个提交的更改文件,并得到以下响应

$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何将其应用到git log. 也就是说,我应该运行什么命令才能获得类似以下输出的内容?

commit 78b3ba12002f9cab5cbb57fac87d8c703702a196
Author: WD40 <example@example.com>
Date:   Fri Apr 14 09:59:57 2017 -0500

    Change more things

    about.html
    javascript/application.js
    javascript/ie6.js

commit 0f98b1f7eda33a4e9cfaab09506aa8094044085f
Author: WD40 <example@example.com>
Date:   Fri Apr 14 09:49:03 2017 -0500

    Change some things

    index.html
    javascript/application.js
    javascript/ie6.js
Run Code Online (Sandbox Code Playgroud)

此外,如果可能的话,我想知道如何做同样的事情,而且还显示添加和删除的文件。

我查看了这些git log --format选项,但找不到任何类似于我想要的东西。我有一种感觉,用 git log 是不可能的,并且可能需要将多个 s 的输出串在一起git diff-tree,但我不确定如何在没有脚本的情况下实现这一点(这可能是完成我想要的事情的唯一方法,但是我想我应该继续询问,因为那将是我最后的手段)。

git git-log

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

同一提交中的多个分支

我有一个包含多个(不需要的)分支的提交,通过 git log --graph 我得到了这个:

commit 417bb7dfd7d7230fd1c859414d2aa231e72e24e6 (HEAD -> Feature1, master, Feature2)
Run Code Online (Sandbox Code Playgroud)

如何将Feature1、Feature2分支从提交417bb7dfd7d7230fd1c859414d2aa231e72e24e6移动到不同的提交?

感谢您的帮助。

git git-log git-branch

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

为什么会发生 `git merge` 但 `git log --graph` 不显示分支?

我不明白 的行为git merge。有时,我合并一个分支,执行后git log --graph,我可以看到分支合并为绘图,如下所示:

\n
    D  \n   / \\\n  C   B\n   \\ /\n    A\n
Run Code Online (Sandbox Code Playgroud)\n

我已经做了

\n
$ git merge feature1 develop \nUpdating 4c3dd3e..a90a849 Fast-forward \nfileA.txt | 1 +  1 file changed, 1 insertion(+)\n
Run Code Online (Sandbox Code Playgroud)\n

有用。我什至可以删除主题分支,这表明该分支不再是不可或缺的并且合并成功:

\n
$ git branch -d feature1 \nDeleted branch feature1 (was a90a849).\n
Run Code Online (Sandbox Code Playgroud)\n

但是,我看不到图纸。我只有一行:

\n
pedro (develop) second-final-project $ git log --graph \n\n* commit a90a84966040e36b994c0146bbd8a666954bee49 (HEAD -> develop)\n| Author: Pedro Delfino <p.delfino01@gmail.com>\n| Date:   Fri Jul 16 12:29:24 2021 -0300\n| \n| …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-log

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

列出所有带注释的标签,带注释,按提交日期排序

列出带有注释的所有标签似乎很容易,例如:

git tag -n99
Run Code Online (Sandbox Code Playgroud)

或者

git for-each-ref --format '%(refname:short) %(contents)' refs/tags
Run Code Online (Sandbox Code Playgroud)

也可以用于git log按创建者日期列出标签,例如(来自此处):

git log --tags --simplify-by-decoration --pretty="format:%cs %d"
Run Code Online (Sandbox Code Playgroud)

然而,这些都没有回答问题,因为据我所知:

  • 无法按提交日期对带注释的标签进行排序git tag,因为标签指向标签注释对象,因此committerdate为空。您可以通过以下方式确认这一点git tag --format='%(committerdate)'
    • 有一个,它列出了未注释提交的creatordate提交日期,以及带注释提交的标签创建日期,这对于这个问题来说也是无用的。
  • 无法使用 来显示标签注释git log,因为格式化程序中没有标签注释选项(而且这无论如何都没有意义,因为单个提交可以有多个标签。

那么,有没有一种方法可以列出所有标签,按提交日期排序,并显示提交日期和注释?我不关心这个问题的未注释标签。

git git-log git-tag

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

git log 当 HEAD 落后于提示时?

假设 HEAD 位于 master 的最终提交处,日志如下所示

$ git log --oneline
bcaee1c 15 July update
02ff17a add feature x
0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
Run Code Online (Sandbox Code Playgroud)

现在我想回顾一下过去:

$ git checkout 0910b6f
Run Code Online (Sandbox Code Playgroud)

现在日志没有显示最近状态的任何提示——来自 HEAD 的相对未来

$ git log --oneline

0910b6f end of weekly update
c2b7189 add 03 july update
737be94 add feature y
Run Code Online (Sandbox Code Playgroud)

好吧,没问题,我只是“记住”或“写下”最远的提交,bcaee1c然后我可以返回git checkout bcaee1c,但是 BAMMO,来了一个电话,一堆紧急会议,强制重启,周末,我“忘记”和/或丢失了便利贴。我(很久)回来后,所有的精神背景都被破坏了,并开始创作,后来才发现我搞砸了,并且有一份重置、恢复和倒带的取证工作。

我可以git log展示 的未来HEAD吗?对于这种情况,有更好的 git-fu 吗?

git git-log

0
推荐指数
1
解决办法
1835
查看次数

如何使用 git 提取提交者的电子邮件?

如果我有一个特定的字符串,我如何使用例如git log从命令行查找提交者的电子邮件?
我不想看到提交。我只希望“one-liner”命令只给我作者的电子邮件。

注意:没有提交 ID。我只有一个搜索字符串。我的意思是我知道肯定是提交的一部分的字符串。

@axiac 发表评论后更新:
我有一个字符串 X,它在仅由 1 个提交者引入的意义上是“唯一”的。提交者将其添加到 file 中foo.java
我只想拥有字符串Xfoo.java找到添加该字符串的提交者的电子邮件

linux git grep git-log

0
推荐指数
1
解决办法
6454
查看次数

如何在“git log --all --graph --oneline --simplify-by-decoration”中提交日期

我用来git log --all --graph --oneline --simplify-by-decoration显示大量的 git 提交历史记录,但没有提交日期,什么可以添加日期?

git git-log

0
推荐指数
1
解决办法
2642
查看次数

理解git图

我使用该git log --graph --all命令来可视化我的提交/分支历史记录。然而,虽然我理解图表显示的大部分内容,但我很难解释分支可视化的某些部分。

我难以解释的分支是:

a) 提交 309a287

b) 提交 3f7475

c))在 e9415f 中的解释

我也有点困惑为什么似乎有三个分支(三个垂直的平行线),因为我同时只有一个主分支和一个额外的分支。

|
| * commit 88531a7dc85d030016296a51c5c433b72c7186c5 (refs/stash)
|/| Merge: c501f9f 631678b
| | Author: 
| | Date:   Wed May 20 17:01:59 2020 +0100
| |
| |     On blackforest: ddd
| |
| * commit 631678b558576418c21496712db524eb86a755ec
|/  Author: 
|   Date:   Wed May 20 17:01:59 2020 +0100
|
|       index on blackforest: c501f9f induced typo
|
* commit c501f9fc6b817541d8cb6a466c77b8d84231afcb (origin/blackforest)
| Author: 
| …
Run Code Online (Sandbox Code Playgroud)

git git-log git-branch

0
推荐指数
1
解决办法
902
查看次数

标签 统计

git ×9

git-log ×9

git-branch ×2

git-merge ×1

git-tag ×1

grep ×1

linux ×1