草庐IT

git log --stat 分支汇总

我想显示我在功能分支上做了多少更改(插入+删除)。有没有办法获取2次提交(分支根/提示)之间更改的gitlog--stat输出摘要。谢谢。 最佳答案 对于你想使用的功能分支gitdiff--statdev..feature这依赖于不进行反向merge。在这里查看我的帖子:http://dymitruk.com/blog/2012/02/05/branch-per-feature/--stat可以带参数。如果您有更宽的终端,这将很有用。您可以执行--stat=200表示您的显示器可以容纳200列。如果您想在脚本中使用它,请改用--nu

没有 Squash 的 git-subtree : view log

我使用不带squash选项的gitsubtreeadd将一棵树merge到我的存储库中。git日志显示提交已成功添加到存储库。但是,如果我执行gitlog--followfilename,历史记录会在merge处停止并且不会显示以前的提交。我尝试使用-M而不是--follow但这也不起作用。如何获取merge前特定文件或多个文件的提交日志? 最佳答案 由gitsubtreemerge或gitsubtreeadd创建的提交对来自子树的文件执行“添加”,而不是“移动”。这意味着他们的历史无法像其他merge或移动那样被追踪。您想要的文件

git - 为什么 git log 中的提交日期乱序?

当我执行“gitlog”时,为什么提交日期乱序?我正在查看存储库的1个分支。日期应该是有序的,对吧? 最佳答案 无法保证日期应按任何顺序排列。事实上,您可以使用Git轻松伪造日期。不过,这很可能是由于rebasing造成的或cherry-pick。例如,我经常做的是在本地提交一些工作,然后gitpull--rebase。结果是历史被重写,因此我的提交现在是同时在origin/master中引入的提交的子项,但是gitrebase不会更改日期过程中的提交。gitcherry-pick效果相同如果您想查看提交更改的日期,您可以执行git

git - 为什么 git log 不默认为 git log --follow?

如果我们将文件移动到不同的位置或重命名它,它以前的所有历史记录都会在gitlog中丢失,除非我们专门使用gitlog--follow.我认为通常,预期的行为是我们也希望看到过去的历史,而不是在重命名或移动后“切断”,所以gitlog没有默认的原因使用--follow标志? 最佳答案 注意:从git2.6(2015年第3季度)开始,gitlog可以默认跟踪文件的历史记录!参见commit076c983(2015年7月8日)作者:DavidTurner(dturner-tw).(由JunioCHamano--gitster--merge

git - git log --all 做什么?

为什么gitlog不简单地记录所有最新的提交?这是什么意思?--allPretendasifalltherefsinrefs/arelistedonthecommandlineas.我假设,一旦翻译成简单的英语,它的意​​思是显示所有最新的提交。谁能澄清一下。 最佳答案 不,这并不意味着它显示了所有最新的提交。它显示了分支、标签和其他引用历史中的所有提交,但它不显示无法从任何引用访问的提交。无法从任何ref访问的提交的典型示例是当您刚刚运行gitcommit--amend时:先前的提交仍然存在于本地,但它不再可访问并且不会显示在gi

git log --follow,显示所有提交,包括 merge

我想gitlog--followfile.ext但显示所有提交,包括merge。尝试了no-max-parents,但没有帮助。 最佳答案 The-mwilldothetrickforyou,log-misforgetintothemerges.gitlog-m--oneline--full-history--followfile.ext这应该跟在Merges[-m]中的文件之后。而且我假设您的目标是使用--min-parents=2而不是no-max-parents。--min-parents=2与--merged相同,因为它将返

git log -p 对比 git show 对比 git diff

命令gitlog-p、gitshow和gitdiff是如何相关的?为什么要优先使用一个命令?给定一个包含以下4个提交的repo:commitd-lastcommitcommitccommitbcoomita-initialcommit以下git命令之间有什么区别?:gitlog-pcommitbcommitdgitshowcommitbcommitdgitdiffcommitbcommitdgitlog-pcommitdcommitbgitshowcommitdcommitbgitdiffcommitdcommitbgitlog-pcommitb..commitdgitshowcomm

从昨天开始的 git log 仅在工作日

对于我的日常站立session,我喜欢输出我的提交以回顾我正在做的事情。我有以下别名:standup=log--graph--pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset%s%Cgreen(%cr)%C(green)%Creset'--abbrev-commit--date=relative--committer='me'--all--since='yesterday'但是,由于周末的缘故,这不适用于周一早上。有谁知道如何使用gitlog--since处理一组工作日,例如周一至周五或周二至周六? 最佳答案

git - 为什么 git log --cherry-pick 没有删除等效的提交?

我一直在尝试使用gitlog--no-merges--cherry-pick--right-onlymaster...my-branch生成在my-branch中但不在master中的提交列表(根据git-log文档)。但是,列表中仍然有许多等效的提交。如果我展示它们和它们的补丁,除了提交ID之外没有任何区别。gitshow16cbd0e47406a4f7acbd6dc13f02d74d0b6a7621>patchagitshowc53c7c32dcd84bfa7096a50b27738458e84536d5>patchbdiffpatchapatchb1c1commitc53c7c3

git - git log --graph 中的线条颜色是什么意思?

我很好奇gitlog--graph中的线条颜色是什么意思?是的,我问的是|/\行,它在左边缘连接提交*控制台输出。问题#1这些颜色有什么stash的含义吗?或者它们是伪随机选择的?问题#2有时重叠(但断开连接)的线具有相同的颜色。例如,请参见上面屏幕截图中的紫色线条:第一行从a55到e1c第二行从3c1到043是否可以要求git明智地选择颜色以避免孤立的(没有共同提交的)相同颜色的线重叠?我希望图表更易于阅读。 最佳答案 这些颜色只是为了帮助您将线条与其他线条区分开来。要回答问题#1,它们不是伪随机分配的,而是顺序分配的,每次git