问题标签 [git-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git 获取 --source 中的 --format 信息
我正在尝试以非常特定的格式格式化我的 git 日志。
我最初使用git log --format="%H,%an,%ae,%ad,%p"
它会产生以下输出(对于每个提交):
现在我正在尝试获取每个提交的参考(即标签/分支)信息。我可以使用该git log --source
命令查看此信息,这正是我想要的(即,位于提交 SHA 之后的 ref):
我想要做的是在我的原始--format="..."
命令末尾包含这些信息,这样我就会得到如下所示的输出:
我似乎找不到任何基于标志引用提交的分支/标签/引用的格式--source
占位符。我只是错过了正确的占位符吗?或者是否有另一种方法来格式化/显示参考以及我想要的自定义信息?
git - Git日志的一些技巧
我必须分析一个 git 存储库。因此,我想问一下 git 中是否有任何命令可以执行以下操作:
- 计算特定目录中每个作者/提交者的提交次数
- 从过去到现在,开发人员在特定目录中的平均文件数和文件类型?
git - Git - 合并后丢失的日志条目
我似乎在一次以某种方式出错的合并后损坏了我的 Git 存储库。我所做的是:
git checkout
<主分支>git merge
<功能分支>- 我遇到了很多通过 Git Extension/kdiff 解决的冲突
- 最后一次冲突解决后,Git Extensions 问我是否想提交。我回答“否”,因为我想在提交之前再检查一下合并结果。
然后,我使用 IntelliJ 中的“更新项目”从中央存储库中提取最新更改,这样我即将发布的内容
git push
就不会被拒绝。我认为 IntelliJ 中的“更新项目”做了类似于git stash; git pull --rebase; git stash apply
.“更新项目”命令没有给出警告、错误或合并冲突。
我猜这一步是我问题的根源——Git 不知何故忘记了正在进行的合并。
然后我提交了合并并将其推送到中央存储库
当我使用 Git Extensions 浏览存储库历史记录时,我现在看到两个问题:
Git 似乎没有认识到功能分支已合并到主分支中。
合并的结果很好,但是 Git Extensions 中分支历史的图形表示显示没有从功能分支到主分支的线。我的合并提交的日志条目就像常规的非合并提交一样从主分支继续。
当我执行“git log -- <在功能分支中更改的文件>”时,它不会显示所有实际更改文件的提交的日志条目。
对于某些文件,在合并之前在功能分支上完成的更改的日志条目丢失。
对于其他文件,即使在解决冲突期间修改了文件,我的合并提交的日志条目也会丢失。
如果我使用“git log --full-history”,我可以看到丢失的日志条目。
谁能解释出了什么问题以及我能做些什么来解决这个问题?我花了几个小时修复合并冲突,如果可能的话,我想保留合并结果而不重做所有事情。
谢谢!
git - git log --pretty to file with error
我这样做:
正确的结果:
到我的文件:
保存在文件输出时的错误结果:
我尝试没有漂亮的格式,完美地工作。后来我尝试了漂亮的格式,不工作!
我如何以漂亮的格式将其保存在文件中?
谢谢。
git - 没有标签的 git 日志
所以我正在做类似的事情
获取我最近提交的简要历史记录。
我唯一的问题是大多数时候我对查看标签不感兴趣,只对分支感兴趣。但是 %d 同时显示标签和分支。有什么方法可以只显示分支名称而不显示标签吗?
git - 如何仅获取特定分支的 Git 日志?
假设以下 Git 历史:
执行git log master会按照ABCDEFGH的顺序给出日志条目。- 但我对只有大师的历史感兴趣(即ADEH)
如何“摆脱”来自Branch1的不需要的日志条目?我为git log尝试了很多选项,但我找不到任何合适的...
这导致了我在这种情况下不理解的另一件事:
查看git log master给出的日志历史,它显示了我的分支 master 是如何演变的(ABCDEFGH)。
但是做一个git checkout HEAD~1 (假设 master=HEAD) 给了我E (Evolution HEAD~3 : A - HEAD~2 : D - HEAD~1 : E - HEAD : H -> ADEH )
这是我不明白的:看git log的H的祖先是G,而看git checkout的H的祖先是E。
我不明白这个 - H的祖先是什么:G或E?...
结论:我想要的只是从HEAD到HEAD~n的git 日志条目(例如上面的 n = 1...3)。如何做到这一点?有可能吗?
git - 离开分支只是一种礼仪,但无法在 GIT 中访问它
我希望能够虚拟地删除一个分支,因此没有人可以从该点签出它并进行更改,而是将分支的名称作为历史记录中的指标或礼仪。
换句话说,我希望 gitk 继续向我显示我过去分支的名称,无论我是否删除了它们。
这可能吗?
jgit - 如何使用 JGit 获取已更改文件的列表?
使用 JGit,我想通过 git log --name-status 获取提交时更改的文件列表。
这可能吗?如果是这样,你怎么做?
git - 我可以影响 gitk 和 Eclipse Egit 中显示的分支的顺序/列吗
这样做时,gitk --all
我会得到一个关于整个仓库的提交/分支/标签的很好的总结。
但是,分支的显示方式并不总是一致的,而且它也与 Egit 在 Eclipse 的 History 窗格中使用的方法不同。
有没有办法控制gitk 和 egit 的列的顺序?
具体来说,我希望始终在第一列(最左侧)中对 master 进行提交。
(如果可能的话,我希望将nvie 模型的图表旋转 180 度,但只需与左侧的 master 保持一致的顺序就足够了。)
我读到 gitk 接受大多数git-log参数,所以我检查了它的手册页,但无法弄清楚这些选项是什么(如果有的话)。(如果那是正确的路线,我将如何让 egit 使用这些选项?)
git - GIT 每周活动
我想生成一个每周 GIT 报告,我可以在其中查看每个开发人员在特定时间范围内提交和删除了多少代码。
目的是获得特定时间范围内开发人员活动的总体概述
- 开始日期
- 结束日期
- 开发商
- 提交
- 添加代码
- 删除代码
如果我可以将这些信息导出到 csv 中,那就太好了