这件事是出于好奇,我们每次运行任何git命令时都会在shell中看到git消息吗?他们是登录还是stdout到shell?
答案 0 :(得分:1)
默认情况下不会记录您在命令行中看到的消息(即Git通常通过printf
与您交谈)。记录您在Git存储库上执行的操作(记录在历史记录中或记录在reflog中)。
答案 1 :(得分:0)
在服务器端,它取决于Git repo托管服务 如果您可以控制要推送的服务器,那么像 gitolite 这样的中间授权层可以注册任何Git事件(push/pull/clone, ...)
所以,如果我收到因非快进而被拒绝的致命错误的消息,并且用户关闭其终端,第二天他不记得他会在哪里,他能够找出昨天发生的事情,他停止了工作上 ?
Git本身不提供任何日志,只有某种Git包装器可以添加该功能 例如, hub 或gitflow可以是适配器来添加日志。
在这个时代,一个好的包装器可以作为执行Git命令的docker容器(意味着安装了Git的任何容器,并将repo作为卷安装)
然后,如issue 7440中所述,命令docker logs
可以跟踪任何输出或错误消息。但是你必须过滤掉所说的日志才能理解它们。
docker run -d --name gitcontainer gitimage
docker logs gitcontainer > stdout.log 2>stderr.log
cat stdout.log
cat stderr.log
docker容器可以在Linux上运行,或other platforms (Windows, Mac) through a virtual machine。