草庐IT

binary-log

全部标签

git - 使用 git,如何搜索带有 `git log` 而不是文件路径的文件模式?

你可以将你的gitlog搜索限制为一个文件,如下所示:gitlog[branch]--foo.c但是如何将搜索限制为文件模式而不是完整路径?考虑你可以运行gitlog在另一个分支上,shell*的扩展不起作用,所以你不能依赖shell来做文件模式匹配。此外,您不能指定一个分支gitls-files. 最佳答案 或者只删除前导的.,即:gitlog--*foo.c,甚至是gitlog--./*foo.c 关于git-使用git,如何搜索带有`gitlog`而不是文件路径的文件模式?,我们在

git - svn 命令行相当于 'git log -p' ?

是否有使用svn命令行工具的等效gitlog-p?svnlog-v显示文件名但不显示更改。我希望看到先前提交引入的补丁。如果不可能,是否有办法获得单个先前提交引入的补丁(不是与head相比,只是变更集)? 最佳答案 svnlog--diff相当于gitlog-p.对于单个修订,您可以使用svndiff-c在git中是gitshow. 关于git-svn命令行相当于'gitlog-p'?,我们在StackOverflow上找到一个类似的问题: https://s

git - 当我使用 "git log"命令时,它不再隐式通过 "less"进行管道传输

以前,我可以直接打字gitlog现在,我必须输入:gitlog|less同样的效果。我没有(有意)更改任何参数。我已经检查了我的全局配置:“~/.gitconfig”和我的项目Git配置“.git/config”,但我看不到任何会导致这种情况的东西。所有的命令参数似乎都是为了选择退出。此外,这些都不起作用:gitconfig--add--globalcore.pagerlessgitlog或GIT_PAGER=lessgitlog或PAGER=lessgitlog 最佳答案 “你试过把它拔下来再插回去吗”我打开了一个新的终端,但它不

eshell中的git-log

我正在尝试在eshell中运行git命令。当我运行时:gitlog-p它看起来像这样:注意^[[k在光标之前。向下箭头键不起作用,它会给出错误提示“未找到”。你可以在minibuffer看到。向下滚动的唯一方法是使用RETURN键,它看起来很乱:我的$TERM设置为eterm,我也试过ansi。他们是一样的。有没有人以前经历过这种情况?谢谢编辑:我有办法解决这个问题。我创建了这个函数:(defuneshell/git(&restargs)(apply'eshell-exec-visual(cons"git"args)))所以每次当我运行git命令时,它都会在*git*缓冲区中启动输出。

windows - Git 为 *.reg 文件显示 "Binary files a... and b... differ"

有没有办法强制Git将.reg文件视为文本?我正在使用Git来跟踪我的Windows注册表调整,Windows使用.reg来存储这些文件。更新1:我得到它来运行diff(感谢Andrew)。但是,现在它看起来像下面这样。这是编码问题吗?index0080fe3..fc51807100644---a/InstallOnRebuild/4.RegistryTweaks.reg+++b/InstallOnRebuild/4.RegistryTweaks.reg@@-1,49+1,48@@-W^@i^@n^@d^@o^@w^@s^@^@R^@e^@g^@i^@s^@t^@r^@y^@^@E^@

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 - 让 github 使用 .gitattributes "binary"属性

在我的项目中,我需要将一些文件跟踪到版本控制中,本例中为csv文件。但是这些文件包含相当多的行,导致Github偶尔会抑制必须通过代码审查才能接受和mergepull请求的文件。我尝试使用.gitattributes将此类文件标记为二进制文件或只是为了不在diff中使用:+*.csv-diff+*.csv-merge+*.csvbinary一次一个,以及组合它们。这对终端上的差异非常有效:$gitdiffHEAD^diff--gita/.gitattributesb/.gitattributesnewfilemode100644index0000000..8a86f80---/dev/

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