Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在受限服务器上记录git接收包的执行和错误?_Git_Logging_Ssh - Fatal编程技术网

在受限服务器上记录git接收包的执行和错误?

在受限服务器上记录git接收包的执行和错误?,git,logging,ssh,Git,Logging,Ssh,我对受限Linux服务器的ssh访问受限;由于服务器不包含“git”,我只是复制了那里的可执行文件,然后使用: git config remote.origin.receivepack "/path/to/my/git-receive-pack" 。。。在我的本地回购协议中 我设法使克隆/拉在这个上下文中工作(从服务器到本地),但在推送时出现了一些权限错误。所以我想,在这里有一个日志会非常好,这样我就可以找到错误所在(希望是在要创建或更新的确切文件中)。不幸的是,git receive pac

我对受限Linux服务器的ssh访问受限;由于服务器不包含“git”,我只是复制了那里的可执行文件,然后使用:

git config remote.origin.receivepack "/path/to/my/git-receive-pack"
。。。在我的本地回购协议中


我设法使克隆/拉在这个上下文中工作(从服务器到本地),但在推送时出现了一些权限错误。所以我想,在这里有一个日志会非常好,这样我就可以找到错误所在(希望是在要创建或更新的确切文件中)。不幸的是,
git receive pack
没有用于日志记录的命令行选项;所以我尝试了以下方法:

git config remote.origin.receivepack "/usr/bin/git-receive-pack 2>&1 >> /path/to/my/grec.log"
008860dbe54430bbbd639307d50621c491a4fd69a822 refs/heads/master report-status delete-refs side-band-64k quiet ofs-delta agent=git/1.9.1
0000
。。。它确实写了这样的东西:

git config remote.origin.receivepack "/usr/bin/git-receive-pack 2>&1 >> /path/to/my/grec.log"
008860dbe54430bbbd639307d50621c491a4fd69a822 refs/heads/master report-status delete-refs side-band-64k quiet ofs-delta agent=git/1.9.1
0000
。。。在日志文件中-但不幸的是,整个
git push
过程会锁定,并且不会完成;据我所知,这是因为已经使用stdout和stderr(我猜)在内部做了一些事情


那么,我是否可以将
git receive pack
包装在服务器上的shell脚本中,以便将其所有操作都记录在一个文件中,但该文件也可以与git进程的其余部分正确交互,并按顺序完成(并且不锁定)

作为对投票结果“不清楚我在问什么”的回应:我在问是否有可能(以及如何)在日志文件中记录服务器上git receive pack的执行情况?
git receive pack
没有日志记录系统,也许他们认为这是不必要的,尽管实际上是。可以通过
git log
命令观察执行历史,但这不能确保执行的来源,也不能用于创建特定命令执行的挂钩。