问题标签 [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.
bash - 如何取消终端中的长输出?
git log
如何从终端命令或 git 命令(如or )的长输出中退出git branch -a
?
如何避免我必须按 enter 直到命令的输出完成?
git - 如何“git log --follow" 在 JGit 中?(检索包括重命名在内的完整历史记录)
我如何扩展以下 logCommand 才能使命令--follow
选项git log
正常工作?
这个选项是在jGit中实现的,但是我不知道怎么用。logCommand 的方法似乎没有用。谢谢!
git - git - 查找添加文件的提交
假设我有一个foo.js
前段时间提交的文件。我想简单地找到首次添加此文件的提交。
在阅读了答案和我自己的修补之后,这对我有用
git - 哪个提交哈希使用 git-revert 撤消推送的合并?
我将 beta 分支合并到 master 分支。我推到原点。我现在希望 master 在本地和远程都像合并之前一样。
撤消已推送的合并的一个很好的答案是建议
如果这确实是要走的路,我该如何确定commit_hash?我没有成功尝试由merge-base返回的哈希:
我已经检查了分支的 git-log 和 gitk 演绎版,但它们很长,而且我对自己的解释不确定,觉得我应该在弄得更大的混乱之前寻求帮助。Beta 源自 v2,v2 源自 master。在此过程中,随着我使新分支与 master 保持同步,从 master 到 v2 和 beta 进行了一些合并。从 beta 到 master 方向的合并是一个我希望纠正的错误。
一旦我确定了合并点,如果我发现合并后在 master 上所做的任何提交确实应该在 beta 分支上,那么将它们移过来的最佳方法是什么?
git - git log the difference between 1 branch from another
I have 2 branches A and B.
Whenever I run a build, Branch A gets merged into Branch B. I want to be able to email out all the updates made in A, since the last time the build was ran. How can I use git log
to be able to copy all the commits made in A since the last A -> B merge?
git - 查看单个文件历史的“x”提交的完整文件差异(托管在 git 中)
假设我在 git 中有一个名为 的文件filex.code
,我想查看该文件最新版本的完整代码,并突出显示每个更改的部分——都在一个地方。所以一个-paned 的提交历史,几乎就像我在做一个-paned 差异,但是查看历史版本而不是从不同的分支合并。x
x
filex.code
x
越大x
越好。跨平台会很棒,但是三巨头中的任何一个都可以。能够编辑最新版本也很棒,但只读可视化已经足够了。
请注意,这与简单的文件提交历史不同,因此其他精彩的gitk path/to/file
(或 SourceTree 或您喜欢的任何可视化 git 客户端)不是我想要的。 git log -p
也接近了,它的输出诱人地包含了我想要的所有信息,只是它都是线性的,几乎是“程序化”的输出格式,而不是像你最喜欢的三窗格 GUI 那样的良好的、相对非分层的、可视化的格式'd 合并工具的。
(编辑:另一个非常酷的选项最终仍然存在仅显示每行的最新源和线性输出的缺点git blame
,但它很酷。)
所以我也不是在寻找设置 difftool,我不认为。我不想区分文件的两个已知版本,而是想将x
历史编辑的迭代可视化到单个文件。
要求太多?这是 WTFA(编写“神奇”应用程序 [自己])的情况吗?
较小的选择:是否有一个三窗格的合并工具,我可以欺骗显示单个文件的最后三个提交?
git - git log --follow 文件名不显示提交更改了该文件
这里我做了什么:
- 从 master 创建开发分支;
- 修改了几个文件并提交;
- 将开发分支合并到带有
--no-commit
参数的master; git reset --hard
在开发分支中修改的几个文件上运行。结果主分支只包含来自开发分支的几个对象——即我已经部分合并了开发更改;- 我已经在 master 中提交了更改;
- 一段时间后,其他开发人员更新了主分支,为了更新我的开发分支,我将主分支合并到其中。
我已经准备好,在我之前的合并中我没有承诺掌握的我的开发对象将被来自 master 的文件覆盖。但是在输出中git log --follow dev-modified-file.txt
我看不到覆盖我的开发更改的提交。
在我的开发分支上运行 git log --follow dev-modified-file.txt
,我可以看到需要的提交以及开发修改。但是看不到提交恢复该更改(实际上无论如何都没有这样的提交)但是我的工作树包含dev-modified-file.txt
文件的主版本,尽管有提交添加开发代码,但没有提交删除该代码。
为什么?
主分支的代码是如何潜入我的开发分支的,没有留下任何痕迹?
PS如果我的描述不清楚,请在评论中提问,我很乐意相应地解释和更正这篇文章。
编辑:将我的 master 合并到开发中后,我看不到 master 和 development 分支之间的区别(我省略的更改消失了!)而且我看不到在开发分支中提交负责!
我相信这可能与合并策略有关……但是如何?你看,我的登录开发分支是什么样子的:
- 我添加了对文件的更改——工作文件夹中的文件包含这些更改。
- 我已经将 master 分支合并到 development 中——许多提交来到了 development 分支,我编辑的文件在 master 分支中变得相等,尽管没有提交负责!
合并后我在文件中添加了更改,更改消失了,没有留下任何痕迹!
git - git shortlog:如何排除“(从提交中挑选的樱桃)”等等?
git shortlog
便于制作人类可读的更改摘要。但是,当我从主分支中挑选更改时,我使用该-x
标志,git cherry-pick
因为它记录了它选择的提交。这会导致短日志中的一些丑陋:
有没有一种简单的方法可以告诉git shortlog
我们不想要那些精选的行(在实际日志中的新行上)?
当然,我知道可以将它们过滤掉,例如使用git shortlog Version-3.5.3..3.5 | sed 's/[(]cherry picked.*$//g'
. 但似乎git应该知道自己的注释并能够处理它们。我错过了什么?
git - 如何在未初始化的本地空存储库中撤消“git add -A”(同时将文件保留在我的计算机上)?
我刚开始学习 Git 和 Ruby on Rails,在我的 Windows 7 机器上的 cmd 提示符下,我不小心git add -A
在我的C:\Users\myusername
.
我的所有文件都已添加,但在 Git 上本地未跟踪。显然,我不想删除它们——它们都是我的用户文件。但是,由于它是一个空仓库,我找不到如何取消跟踪它们并清理 git。git status
和git log
响应如下。
git - git:查看日志和移动文件的变化
我在 git 中有文件并想检查它的历史记录:提交更改时的提交以及此提交之间的确切更改。
但:
- 我知道我在过去的git历史中已经重命名了文件
- 甚至可能在目录之间移动。
检查我要检查的内容的最简单方法是什么?
PS我知道这个问题:移动文件上的git diff?,但是如果您记性不好并且不记得所有以前的文件名,则无法回答该怎么做。