Git推送到未反映更改的裸存储库

Git推送到未反映更改的裸存储库,git,bash,atlassian-sourcetree,Git,Bash,Atlassian Sourcetree,在我的本地机器上,我在bitbucket中有一个dev分支和prod分支。此主存储库位于我的本地远程设备上。我还有一个Web服务器,它作为一个裸存储库托管,用于将更改推送到其中。此裸存储库位于我的本地远程设备上的prod server 当我将prod的内容推送到prod server master时,生产服务器会告诉我所有内容都是最新的;但是,如果我检查Web服务器的文件,它们更改的时间戳和内容不会反映提交中的更改! Git bash git登录服务器 注意到文件3、4和5的时间戳了吗?它们对应

在我的本地机器上,我在bitbucket中有一个
dev
分支和
prod
分支。此主存储库位于我的本地远程设备上。我还有一个Web服务器,它作为一个
裸存储库
托管,用于将更改推送到其中。此裸存储库位于我的本地远程设备上的
prod server

当我将
prod
的内容推送到
prod server master
时,生产服务器会告诉我
所有内容都是最新的
;但是,如果我检查Web服务器的文件,它们更改的时间戳和内容不会反映提交中的更改! Git bash git登录服务器 注意到文件3、4和5的时间戳了吗?它们对应于昨天的提交,但在今天的2次提交中发生了更改。如果我直接打开这些文件并检查它们的内容,尽管git日志中另有规定,但它们实际上从昨天起就没有改变

/混淆项目名称/挂钩/post接收
已经设置了一个post-receive钩子,以便在收到提交时签出存储库。目录url错误

#!/bin/sh 
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f

/home/ObfuscatedProjectName
应该是
/ObfuscatedProjectName

裸存储库没有工作文件夹,因此不会从存储库中签出任何文件。推送到裸存储库只会影响存储库,而不会影响工作文件夹中的任何文件,这就是“裸”的含义。你能澄清一下你在这里做什么吗?如果您有一个裸存储库,那么其他文件就不应该受到推送的影响(这是您抱怨的),但是如果您有一个非裸存储库,那么您就不应该(默认情况下)能够推送到它。你能准确地解释一下你的情况吗?具体地说,你的期望似乎是错误的。你能澄清一下吗?更新了裸库中的post接收挂钩。看来目录错了
/home/ObfuscatedProjectName
而不是/ObfuscatedProjectName`
commit 1898d38c67a1c35c30e002a4bc53b161973a944e
Author: Kareem Elashmawy <kareem.elashmawy@domain.com>
Date:   Fri Sep 22 18:59:07 2017 -0400

    second commit today

commit d24b14928f3c0b950a2d1a09958bce3e6659386e
Author: Kareem Elashmawy <kareem.elashmawy@domain.com>
Date:   Fri Sep 22 18:34:53 2017 -0400

    first commit today

commit e0de2b25d1cffb583f4a4b1fccbd88416ddac79f
Author: Kareem Elashmawy <kareem.elashmawy@domain.com>
Date:   Thu Sep 21 18:02:51 2017 -0400

    yesterday's commit
[kareem@domain python]$ ls -l
total 748
-rwxrwxr-x. 1 apache company    2126 Jul 21 15:36 file.py
-rwxrwxr-x. 1 kareem kareem  1733 Sep 21 17:18 file2.py
-rwxrwxr-x. 1 apache company    1461 Sep 21 17:44 file3.py
-rwxrwxr-x. 1 apache company   27257 Jul 21 15:36 file4.py
-rw-r--r--. 1 root   root   22597 Jul 25 11:50 file5.pyc
-rwxrwxr-x. 1 apache company    1458 Sep 21 18:08 file6.py
#!/bin/sh 
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f
#!/bin/sh 
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f