问题标签 [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.

0 投票
1 回答
1321 浏览

git - “git whatchanged -- 文件名”和“git rev-list -- 文件名”有什么区别

下面的2个命令有什么区别。我看到不同的输出。
两者都是从具有单个分支的克隆运行的。

0 投票
0 回答
395 浏览

git - git log 和 git whatchanged 允许重复提交

git log 和 git whatchanged 显示了 2 个提交,但都添加了相同的行,那么它在哪里被删除了,所以它再次添加了相同的更改?

我尝试了下面的命令,当没有一个提交显示这些行被删除时,怎么会有 2 个提交添加了相同的 2 行。我如何在这 2 次提交之间找到这个文件发生了什么?

git log --stat --follow -p at_Objects/AtResctrCase.cpp

提交 914f8e87cb88e2923ed089a579d69cfa21ae0bc4

at_Objects/AtResctrCase.cpp | 2++

1 个文件更改,2 个插入 (+),0 个删除 (-)

提交 6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2

at_Objects/AtResctrCase.cpp | 2++

1 个文件更改,2 个插入 (+),0 个删除 (-)

git diff 6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2^..914f8e87cb88e2923ed089a579d69cfa21ae0bc4 -- at_Objects/AtResctrCase.cpp

做一个“git log”我发现了一些提交,并检查了这个文件是否在任何提交中被修改。按照最近到最旧的顺序。找到删除该行的提交。b4eec3024a18bd502735d88c31891eea646d3356 合并:9a74a46 66cc3f1。但是,当中间没有其他提交修改此文件时,为什么要删除它呢?自动合并删除了这条线吗?如果此文件在合并提交中被删除,为什么它没有出现在“git log --stat --follow -p at_Objects/AtResctrCase.cpp”或“git diff”中。任何建议都非常感谢。

在上面的提交中,该行是手动重新添加的。

此处删除了 F-41959 行。

提交b4eec3024a18bd502735d88c31891eea646d3356 合并:9a74a46 66cc3f1

上面的提交是最初添加行的地方

0 投票
1 回答
760 浏览

c - 带有 libgit2 的“git log -1 fullpath/myfile”

我想git log -1 fullpath/myfile用 libgit2 来实现。我对libgit2相当陌生。我在正确的轨道上吗?这是我到目前为止所拥有的:

不幸的是git_tree_entry_byname,似乎不适用于 repo 子目录中的文件。任何的想法?

谢谢你,拉斯

0 投票
4 回答
30810 浏览

git - 如何根据作者的时间戳制作 git log 顺序?

我使用了一个相当复杂的git-log命令--date-order来了解我的存储库的状态;但不幸的是,--date-order似乎使用的是提交者日期,而不是作者日期。这意味着每次我通过将主题分支重新定位到当前上游来更新主题分支时,我git-log在主题分支中的相对提交中失去了有用的时间顺序(也就是说,每个分支都变成一条长线,因为所有它的提交被重新设置为顺序和几乎相同的提交者时间戳。)

如果我可以通过作者时间戳而不是提交git-log者时间戳来订购提交,这将得到解决。有人知道这样做的方法吗?


对于那些从 Google 结果访问此内容的人,您可能需要查看josephdpurcell的解决方案(以及深入的博客文章!),如下所示。如果您正在寻找标准git-log样式的输出,多行,以及有关每次提交的详细消息,这非常棒。

不幸的是,我现在需要修改这个问题,因为我是个白痴并且没有提供有关我的用例的更具体信息:我git-log在“<code>--graph mode”下使用,我需要让git-log自己运行按作者日期顺序。据我所知,这完全不可能从外部进行git-log,因为git-log 它自己处理图形排序和打印。

git-log似乎需要一个脚本或补丁。在有人可以 1. 编写这样的脚本,或 2. 我们可以说服git作者包含--author --date-order标志组合之前,我将保持开放状态。(=


作为参考,这是我当前glogfunction的输出的样子,以及我需要重新排序的内容:

日志输出

0 投票
3 回答
16034 浏览

git - Git 日志变基

我知道 GIT 变基会重写历史——即提交 ID 会改变。但是,是否有任何方法可以跟踪分支何时重新建立以及来自哪个分支?

编辑:我有一个开发分支“A”和一个主题分支“B”。“A”由团队共享。在某些时候,“A”已经重新建立在一个主流分支上。由于 re-base(和后续提交),当我更新主题分支时,我看到了差异。我正在努力寻找合适的人来解决问题。

0 投票
1 回答
2124 浏览

git - Git - 跟踪分支的信息

我想知道哪个是 git 命令行提供有关跟踪分支的信息?

我有一个跟踪源/集成(git branch --track integration origin/integration)的集成分支,但我想确定并检查本地跟踪分支和远程跟踪分支之间的连接......

我知道git remote show origin。但是如果我不在线...?

预先感谢,

0 投票
4 回答
2046 浏览

git - 使用 git log --decorate 限制 refs

我目前工作的主存储库有 3 个标准遥控器:本地备份、我的开发合作伙伴的工作站和托管存储库。我们有 3 或 4 个大部分时间处于活动状态的分支,其中一个是主分支。

我使用以下方法全天定期监控分支机构:

--decorate至关重要,因为它让我了解我们非常不稳定的开发分支的状态。问题是我在装饰中看到了所有远程引用和所有分支、标签等。

有没有办法限制--decorate只输出某些参考?在命令行上列出 refs 只会限制显示的提交,而不是显示的 refs。

谢谢,迈克

0 投票
3 回答
26307 浏览

git - Git在日志中显示所有分支(但不是存储)

我有一个 Git 别名,可以扩展为:

根据man git log有几个可疑的选项:--not--branches; 但我不能让它正常工作。

我应该如何编辑它以隐藏藏匿处?


仅供参考:根据接受的问题评论,我的.gitconfig别名现在如下所示:

0 投票
7 回答
462226 浏览

git - 如何退出 git log 或 git diff

我正在尝试在Git Immersion的帮助下学习 Git 。
每当我使用git logor时,都会有一件事情让我感到沮丧git diff

Git 日志显示 (END) 标记

当我遇到这个(END)词时,我不知道下一步该怎么做。

我无法输入任何命令,最终我关闭了当前的 Bash 窗口并打开了另一个。如何输入我想使用的下一个命令?

0 投票
1 回答
652 浏览

php - 致命错误后重新创建 Git Ref

我最近不得不执行硬重启,当我尝试访问特定分支时,我现在在 git 中收到错误(访问其他分支时不会发生这种情况):

该问题类似于此处描述的问题:如何恢复损坏的 git 存储库?,但不同之处在于我目前不在该分支上执行git status。此外,如果我打电话,git reflog我会收到相同的错误消息。

我尝试使用git branch -d branchNameand删除有问题的分支git branch -D branchName,但没有成功。

显然,我很想保留所有的分支和数据,但如果解决方案是删除那个特定的分支,那就没问题了。此外,不知道这是否有帮助甚至是否重要,但在此分支上执行的最后一个操作是rebase.

一个可能的解决方案是从存在的每个单独的分支中重建当前引用,不包括无效分支?

附带说明一下,我目前还没有一个可以让我满意的远程资源clone,因此需要任何本地解决方案。此外,我正在使用 PHP,以防万一出于任何原因。

谢谢。


编辑:

运行git fsck --full我收到以下消息:

...这很奇怪,因为它似乎指的是不同的哈希。