Git 推送到未反映更改的裸存储库
Git push to bare repository not reflecting changes
在我的本地机器上,我在 bitbucket 中有一个 dev
分支和一个 master
存储库的 prod
分支。这个主存储库在我的本地遥控器上 origin
。我还有一个托管为 bare repository
的网络服务器,用于推送更改。这个裸存储库在我的本地遥控器上 prod-server
。
当我将 prod
的内容推送到 prod-server master
时,生产服务器告诉我 Everything up-to-date
;但是,如果我检查网络服务器的文件,它们更改的时间戳和内容不会反映我提交中的更改!
Git-bash
kareem.elashmawy@domain.com MINGW32 /c/git/ObfuscatedProjectName (prod)
$ git push prod-server prod:master -f
Password:
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 445 bytes | 445.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: fatal: This operation must be run in a work tree
To ssh://prodserver.com/ObfuscatedProjectName
d24b1492..1898d38c prod -> master
kareem.elashmawy@domain.com MINGW32 /c/git/ObfuscatedProjectName (prod)
$ git push prod-server prod:master -f
Password:
Password:
Everything up-to-date
git 登录服务器
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
服务器上的 ls -l
[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
注意到文件 3、4 和 5 的时间戳了吗?它们对应于昨天的提交,但在今天的 2 次提交中发生了变化。如果我直接打开文件并检查它们的内容,尽管 git 日志另有说明,它们确实自昨天以来没有变化。
/ObfuscatedProjectName/hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f
已设置 post-receive 挂钩以在收到提交后检查存储库。目录 url 错误。
#!/bin/sh
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f
/home/ObfuscatedProjectName
应该是 /ObfuscatedProjectName
在我的本地机器上,我在 bitbucket 中有一个 dev
分支和一个 master
存储库的 prod
分支。这个主存储库在我的本地遥控器上 origin
。我还有一个托管为 bare repository
的网络服务器,用于推送更改。这个裸存储库在我的本地遥控器上 prod-server
。
当我将 prod
的内容推送到 prod-server master
时,生产服务器告诉我 Everything up-to-date
;但是,如果我检查网络服务器的文件,它们更改的时间戳和内容不会反映我提交中的更改!
Git-bash
kareem.elashmawy@domain.com MINGW32 /c/git/ObfuscatedProjectName (prod)
$ git push prod-server prod:master -f
Password:
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 445 bytes | 445.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: fatal: This operation must be run in a work tree
To ssh://prodserver.com/ObfuscatedProjectName
d24b1492..1898d38c prod -> master
kareem.elashmawy@domain.com MINGW32 /c/git/ObfuscatedProjectName (prod)
$ git push prod-server prod:master -f
Password:
Password:
Everything up-to-date
git 登录服务器
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
服务器上的 ls -l
[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
注意到文件 3、4 和 5 的时间戳了吗?它们对应于昨天的提交,但在今天的 2 次提交中发生了变化。如果我直接打开文件并检查它们的内容,尽管 git 日志另有说明,它们确实自昨天以来没有变化。
/ObfuscatedProjectName/hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f
已设置 post-receive 挂钩以在收到提交后检查存储库。目录 url 错误。
#!/bin/sh
GIT_WORK_TREE=/home/ObfuscatedProjectName git checkout -f
/home/ObfuscatedProjectName
应该是 /ObfuscatedProjectName